Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 数列的LIKE算子_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 数列的LIKE算子

Sql 数列的LIKE算子,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图使用通配符表达式来获取与数字序列相关的数据。我能知道如何在通配符表达式(如[0-10])中使用一系列数字吗 我的问题是: select grade from table where grade LIKE [1-12]? 输出:是1和2 我参考了t-SQL的书,他们讨论了N[1-12]。LIKE[1-12]和N[1-12]之间有什么区别 我可以使用1到12之间的值来获取数据。但我只是想知道如何对带有LIKE运算符的数字序列使用通配符?在SQL Server中,LIKE有三个通配符。下划线“

我试图使用通配符表达式来获取与数字序列相关的数据。我能知道如何在通配符表达式(如[0-10])中使用一系列数字吗

我的问题是:

select grade from table where grade LIKE [1-12]?
输出:是1和2

我参考了t-SQL的书,他们讨论了N[1-12]。LIKE[1-12]和N[1-12]之间有什么区别


我可以使用1到12之间的值来获取数据。但我只是想知道如何对带有LIKE运算符的数字序列使用通配符?

在SQL Server中,
LIKE
有三个通配符。下划线
表示任何单个字符<代码>%表示零个或多个字符。和方括号

方括号之间的表达式表示一个字符。所以

x like '[abc]'
与“a”、“b”或“c”匹配——除此之外没有其他匹配。以下匹配任意数字:

x like '[0123456789]'
然而,这开始变得难以打印。因此,SQL Server提供了速记:

x like '[0-9]'
这仅表示从0开始到9结束的范围内的任何字符

您可以将任何十六进制字符与以下字符匹配:

x like '[0-9ABCDEF]'
因此,允许在该范围内使用其他字符

当你写作时

x like '[1-12]'
你说的是x,比如从1到1的字符范围,加上字符2。这更容易写成:

x like '[12]'
在任何情况下,都不应该将数值存储为字符串,也不应该像对数字使用
一样使用
。最好写下:

grade between 1 and 12

或者类似的东西。

在SQL Server中,
like
有三个通配符。下划线
表示任何单个字符<代码>%
表示零个或多个字符。和方括号

方括号之间的表达式表示一个字符。所以

x like '[abc]'
与“a”、“b”或“c”匹配——除此之外没有其他匹配。以下匹配任意数字:

x like '[0123456789]'
然而,这开始变得难以打印。因此,SQL Server提供了速记:

x like '[0-9]'
这仅表示从0开始到9结束的范围内的任何字符

您可以将任何十六进制字符与以下字符匹配:

x like '[0-9ABCDEF]'
因此,允许在该范围内使用其他字符

当你写作时

x like '[1-12]'
你说的是x,比如从1到1的字符范围,加上字符2。这更容易写成:

x like '[12]'
在任何情况下,都不应该将数值存储为字符串,也不应该像对数字使用
一样使用
。最好写下:

grade between 1 and 12

或者类似的东西。

戈登,谢谢你快速而准确的回答。这很容易理解,再次感谢你的解释:)戈登,谢谢你快速而准确的回答。这很容易理解,再次感谢您的解释:)