sql-server - SQL Server - 文本列包含之间的数字

标签 sql-server contains numeric between

谁能告诉我如何在 SQL Server 中编写代码,以便我在 varchar 文本列中查看它是否包含文本中的数字范围?

例如,我要查找包含 100000999999 之间任何内容的列。该列的值可能类似于

this field contains a number `567391`

所以我想选择那个,但如果有的话就不要了

this field contains a number `5391`

最佳答案

对于您给出的示例,您可以检查数字:

where col like '%[^0-9][1-9][0-9][0-9][0-9][0-9][0-9][^0-9]%'

这不是一个通用的解决方案,但它适用于您的示例。一般来说,在 SQL Server 中解析字符串是很困难的。最好在加载数据时提取您感兴趣的值,以便相关值正确地位于它们自己的列中。

关于sql-server - SQL Server - 文本列包含之间的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34200559/

相关文章:

sql - 为什么 SQL Server 标量值函数变得更慢?

sql - 通过搜索 SQL Server 中的所有表来查找字符串

mysql - 多列连接 : Getting additional rows

php - PHP 中的搜索功能适用于数值,但不适用于字母/单词

python - 如何优化这个 NumPy 代码?

c# - 如何将变量(别名)传递给where条件SQL

java - Java集包含多个返回选项

c# - List<List<>>.Contains() 不工作

jquery - 例如,选择类包含 "grap"(或其他指定单词)的 div(或其他元素)

c++ - C++如何计算复数的绝对值,防止溢出?