为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_遁去的一_1 2018-12-07 09:22:43
各位大神,求个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))

查看完整回答
反对 回复 2019-01-07
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

这咱理论上应该用正则,sql里面不太好用,可以用用户自定义类型处理,用c#写dll.导入sql中

然后就可以用的sql调用   where foo([companyName])=1

查看完整回答
反对 回复 2019-01-07
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

请教,正则怎么写?

查看完整回答
反对 回复 2019-01-07
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

研究下:REGEXP 吧,支持正则

查看完整回答
反对 回复 2019-01-07
?
倚天杖

TA贡献1828条经验 获得超3个赞

来学习的,楼主请忽视

查看完整回答
反对 回复 2019-01-07
  • 6 回答
  • 0 关注
  • 1426 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信