qq_遁去的一_1
2018-12-07 09:22:43
各位大神,求個(gè)SQL寫WHERE 條件:公司名稱(字段[CompanyName])不包含(中文、數(shù)字、括號、英文)之外的字符-sql server 庫的語法,括號包含全角和半角,多謝!
6 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
研究了半天,你看看吧!
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貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
這咱理論上應(yīng)該用正則,sql里面不太好用,可以用用戶自定義類型處理,用c#寫dll.導(dǎo)入sql中
然后就可以用的sql調(diào)用 ? where foo([companyName])=1
- 6 回答
- 0 關(guān)注
- 1469 瀏覽
添加回答
舉報(bào)
0/150
提交
取消