MSSQL 正则表达式 [英] MSSQL Regular expression

查看:22
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆