求SQL-公司名称不包含(中文、数字、括号、英文)之外的字符-sql server 库

各位大神,求个SQL写WHERE 条件:公司名称(字段[CompanyName])不包含(中文、数字、括号、英文)之外的字符-sql server 库的语法,括号包含全角和半角,多谢!

qq_遁去的一_1
浏览 1427回答 6
6回答

蓝山帝景

研究了半天,你看看吧! IF OBJECT_ID('DBO.CompanyName') IS NOT NULLDROP FUNCTION DBO.CompanyNameGOCREATE FUNCTION DBO.CompanyName(@S VARCHAR(100))RETURNS VARCHAR(100)ASBEGINWHILE PATINDEX('%[^0-9a-zA-Z吖-座()()]%',@S) > 0BEGINSET @S=STUFF(@s,PATINDEX('%[^0-9a-zA-Z吖-座()()]%',@s),1,'')ENDRETURN @SENDGOselect * from [TABLE] where len(CompanyName) = len(DBO.CompanyName(CompanyName))

一只甜甜圈

这咱理论上应该用正则,sql里面不太好用,可以用用户自定义类型处理,用c#写dll.导入sql中 然后就可以用的sql调用   where foo([companyName])=1

明月笑刀无情

请教,正则怎么写?

蛊毒传说

研究下:REGEXP 吧,支持正则

倚天杖

来学习的,楼主请忽视
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server