各位大神,求个SQL写WHERE 条件:公司名称(字段[CompanyName])不包含(中文、数字、括号、英文)之外的字符-sql server 库的语法,括号包含全角和半角,多谢!
6 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
研究了半天,你看看吧!
IF OBJECT_ID('DBO.CompanyName') IS NOT NULL
DROP FUNCTION DBO.CompanyName
GO
CREATE FUNCTION DBO.CompanyName(@S VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^0-9a-zA-Z吖-座()()]%',@S) > 0
BEGIN
SET @S=STUFF(@s,PATINDEX('%[^0-9a-zA-Z吖-座()()]%',@s),1,'')
END
RETURN @S
END
GO
select * from [TABLE] where len(CompanyName) = len(DBO.CompanyName(CompanyName))
一只甜甜圈
TA贡献1836条经验 获得超5个赞
这咱理论上应该用正则,sql里面不太好用,可以用用户自定义类型处理,用c#写dll.导入sql中
然后就可以用的sql调用 where foo([companyName])=1
- 6 回答
- 0 关注
- 1426 浏览
添加回答
举报
0/150
提交
取消