sql - 查找字符串中是否有 6 位数字

标签 sql sql-server

如果查询包含等于 6 位数字的子字符串,您会如何建议在 Sql Server 2010/2012 中找出?

例如“agh123456 dfsdfdf ”符合要求

x123 ddd456 ”不符合要求,因为6位数字不连续

lm123 ”不符合要求,因为只找到了 3 个数字(在所需的 6 个中)

到目前为止我遇到的问题: SUBSTRING 作为函数需要参数(数字可能开始的位置,这是随机的)
而 PATINDEX 返回模式在字符串中的位置,但我们不知道确切的模式(它可以是任何 6 位数字)

任何指示或建议,非常感谢。

谢谢

最佳答案

您可以使用 LIKE运算符(operator):

SELECT *
FROM MyTable
WHERE Mycolumn LIKE '%[0-9][0-9][0-9][0-9][0-9][0-9]%'

关于sql - 查找字符串中是否有 6 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893714/

相关文章:

java - java中通过JDBC实现数据库独立性

sql - sql中日期时间差的总和(HH.MM)

mysql - 如何根据依赖的两列中的条件过滤记录

sql - 如何在 postgres 9.5 中正确执行 upsert

用于非冗余目的的 SQL Azure 地理复制

sql-server - SQL Azure 跨数据库查询权限

sql-server - 以多种方式在 SQL 查询中多次使用复杂语句

sql - 如何更改 SQL Server 选择查询中的 bool 值?

mysql - 优化 MySQL 的 LEFT OUTER JOIN 中的 ORDER BY RAND() 函数

sql-server - 由 CROSS APPLY 触发时的顺序 SQL 插入