检查字符串是否在SQL中具有子字符串和数字的组合

问题描述

我该如何编写sql where语句来检查字符串是否包含某些子字符串和数字。例如:

字符串:macsea01

“ macsea”之类的字符串加上数字

解决方法

正则表达式是此问题最明显的解决方案。如果没有更多有关字符串的特定格式的详细信息,我可以建议以下内容,它们将匹配字母中字母的序列,后跟数字:

where column_name like '%[a-zA-Z][0-9]%'

如果您实际上是在字符串的开头寻找macsea,后跟一个数字,则为:

where column_name like 'macsea[0-9]%'

,

这里的Regex似乎有点溜滑,例如,根据您的需要,您可以将字符串分成几个部分,首先是文本部分,然后取剩下的字符串,尝试将其转换为数字。

>

像这样的东西(但我认为此垂直代码已损坏

where substring(column_name,1,6) = 'macsea' and cast(substring(column_name,7,1000) as int) > 0