MSSQL 正则表达式 [英] MSSQL Regular expression
本文介绍了MSSQL 正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下正则表达式:^[-A-Za-z0-9/.]+$
I have the following REGEX: ^[-A-Za-z0-9/.]+$
当前检查输入到文本框中的值是否与此匹配.如果没有,它会抛出一个错误.
This currently checks whether the value entered into a textbox matches this. If not, it throws an error.
我需要检查是否有与此不匹配的内容进入数据库.
I need to check whether anything has already gone into the database that doesnt match this.
我累了:
SELECT * FROM *table* WHERE ([url] NOT LIKE '^[-A-Za-z0-9/.]+$')
SELECT * FROM *table* WHERE PATINDEX ('^[-A-Za-z0-9/.]+$', [url])
更新
所以经过一些研究后,我意识到我认为我不能使用 REGEXP.
So after a bit of research I've realised I don't think I can use REGEXP.
我以为我可以做这样的事情?它没有给我预期的结果,但它的运行不同于其他任何东西.任何人都可以发现它有什么问题吗?
I thought I could do something like this? Its not giving me the expected results but its running unlike anything else. Can anyone spot anything wrong with it?
SELECT *,
CASE WHEN [url] LIKE '^[-A-Za-z0-9/.]+$'
THEN 'Match'
ELSE 'No Match'
END Validates
FROM
*table*
推荐答案
感谢大家的帮助.
这是我最后用的:
SELECT *,
CASE WHEN [url] NOT LIKE '%[^-A-Za-z0-9/.+$]%'
THEN 'Valid'
ELSE 'No valid'
END [Validate]
FROM
*table*
ORDER BY [Validate]
这篇关于MSSQL 正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文