"Select * From Line_Table Where Phone_Number Like '%999%'"
全角半角的问题我都注意了,查询符合条件的记录数据量时,返回的是数据库 Line_Table 表中的所有数据量。后来用 * 代替了 SQL 语句中的 % 之后,发现就可以查询所有符合条件的数据了。我很疑惑。SQL 语句进行 Like 查询的时候,不是需要使用 % 作搭配吗?为什么又改成 * 了?
10 个解决方案
#1
sql 中就有是%和_
#2
楼上的高人能解释一下吗?
#3
我们现在写的SQL语句全是用LIKE 和%搭配,没有出现任何问题!
#4
SQL查询语句有多个版本的,不同版本通配符可能不一样
#5
同意 lzmtw(水如烟)
比如ms sql server\access2000 就支持%
Access2003到是没有用过
比如ms sql server\access2000 就支持%
Access2003到是没有用过
#6
Phone_Number 是数值?
在access中,查询数值时要用*
而不是%,具体原因俺也不清楚
在access中,查询数值时要用*
而不是%,具体原因俺也不清楚
#7
Access2003 是用% 我今天还用的
#8
Access 2003脱机帮助
Like 运算符
将字符串表达式与 SQL 表达式中的模式进行比较。
语法
expression Like “pattern”
Like 运算符语法包含以下部分:
部分 说明
expression 在 WHERE 子句中使用的 SQL 表达式。
pattern 与 expression 进行比较的字符串文字。
说明
可以通过 Like 运算符来查找与所指定的模式相匹配的字段值。对于 pattern,可以指定完整的值(例如 Like "Smith"),也可以使用通配符来查找某个范围内的值(例如 Like "Sm*")。
在表达式中,可以使用 Like 运算符来比较字段值与字符串。例如,如果在 SQL 查询中输入 Like "C*",那么该查询将返回所有以字母 C 开头的字段值。在参数查询中,可以提示用户键入要搜索的模式。
下面的示例返回以字母 P 开头并且后面为 A 到 F 之间任何字母以及三个数字的数据:
Like “P[A-F]###”
下表展示了如何通过 Like 来测试不同模式的表达式。
匹配类型
模式 匹配
(返回 True) 不匹配
(返回 False)
多个字符 a*a aa, aBa, aBBBa aBC
*ab* abc, AABB, Xab aZb, bac
特殊字符 a[*]a a*a aaa
多个字符 ab* abcdefg, abc cab, aab
单个字符 a?a aaa, a3a, aBa aBBBa
单个数字 a#a a0a, a1a, a2a aaa, a10a
字符范围 [a-z] f, p, j 2, &
范围之外 [!a-z] 9, &, % b, a
非数字值 [!0-9] A, a, &, ~ 0, 1, 9
复合值 a[!b-m]# An9, az0, a99 abc, aj0
请参阅
SQL 表达式 在字符串比较中使用通配符
WHERE 子句
Like 运算符
将字符串表达式与 SQL 表达式中的模式进行比较。
语法
expression Like “pattern”
Like 运算符语法包含以下部分:
部分 说明
expression 在 WHERE 子句中使用的 SQL 表达式。
pattern 与 expression 进行比较的字符串文字。
说明
可以通过 Like 运算符来查找与所指定的模式相匹配的字段值。对于 pattern,可以指定完整的值(例如 Like "Smith"),也可以使用通配符来查找某个范围内的值(例如 Like "Sm*")。
在表达式中,可以使用 Like 运算符来比较字段值与字符串。例如,如果在 SQL 查询中输入 Like "C*",那么该查询将返回所有以字母 C 开头的字段值。在参数查询中,可以提示用户键入要搜索的模式。
下面的示例返回以字母 P 开头并且后面为 A 到 F 之间任何字母以及三个数字的数据:
Like “P[A-F]###”
下表展示了如何通过 Like 来测试不同模式的表达式。
匹配类型
模式 匹配
(返回 True) 不匹配
(返回 False)
多个字符 a*a aa, aBa, aBBBa aBC
*ab* abc, AABB, Xab aZb, bac
特殊字符 a[*]a a*a aaa
多个字符 ab* abcdefg, abc cab, aab
单个字符 a?a aaa, a3a, aBa aBBBa
单个数字 a#a a0a, a1a, a2a aaa, a10a
字符范围 [a-z] f, p, j 2, &
范围之外 [!a-z] 9, &, % b, a
非数字值 [!0-9] A, a, &, ~ 0, 1, 9
复合值 a[!b-m]# An9, az0, a99 abc, aj0
请参阅
SQL 表达式 在字符串比较中使用通配符
WHERE 子句
#9
同时我查询了sql server的联机文档。
将通配符作为文字使用
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a、b、c、d 或 f
LIKE '[-acdf]' -、a、c、d 或 f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d 和 abc_de
LIKE 'abc[def]' abcd、abce 和 abcf
所以,在access 2003中,不定长通配符是使用*的。
将通配符作为文字使用
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a、b、c、d 或 f
LIKE '[-acdf]' -、a、c、d 或 f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d 和 abc_de
LIKE 'abc[def]' abcd、abce 和 abcf
所以,在access 2003中,不定长通配符是使用*的。
#10
为什么我的字段中是汉字的就查不到呢,这是什么原因啊,各路高手请指教。
#1
sql 中就有是%和_
#2
楼上的高人能解释一下吗?
#3
我们现在写的SQL语句全是用LIKE 和%搭配,没有出现任何问题!
#4
SQL查询语句有多个版本的,不同版本通配符可能不一样
#5
同意 lzmtw(水如烟)
比如ms sql server\access2000 就支持%
Access2003到是没有用过
比如ms sql server\access2000 就支持%
Access2003到是没有用过
#6
Phone_Number 是数值?
在access中,查询数值时要用*
而不是%,具体原因俺也不清楚
在access中,查询数值时要用*
而不是%,具体原因俺也不清楚
#7
Access2003 是用% 我今天还用的
#8
Access 2003脱机帮助
Like 运算符
将字符串表达式与 SQL 表达式中的模式进行比较。
语法
expression Like “pattern”
Like 运算符语法包含以下部分:
部分 说明
expression 在 WHERE 子句中使用的 SQL 表达式。
pattern 与 expression 进行比较的字符串文字。
说明
可以通过 Like 运算符来查找与所指定的模式相匹配的字段值。对于 pattern,可以指定完整的值(例如 Like "Smith"),也可以使用通配符来查找某个范围内的值(例如 Like "Sm*")。
在表达式中,可以使用 Like 运算符来比较字段值与字符串。例如,如果在 SQL 查询中输入 Like "C*",那么该查询将返回所有以字母 C 开头的字段值。在参数查询中,可以提示用户键入要搜索的模式。
下面的示例返回以字母 P 开头并且后面为 A 到 F 之间任何字母以及三个数字的数据:
Like “P[A-F]###”
下表展示了如何通过 Like 来测试不同模式的表达式。
匹配类型
模式 匹配
(返回 True) 不匹配
(返回 False)
多个字符 a*a aa, aBa, aBBBa aBC
*ab* abc, AABB, Xab aZb, bac
特殊字符 a[*]a a*a aaa
多个字符 ab* abcdefg, abc cab, aab
单个字符 a?a aaa, a3a, aBa aBBBa
单个数字 a#a a0a, a1a, a2a aaa, a10a
字符范围 [a-z] f, p, j 2, &
范围之外 [!a-z] 9, &, % b, a
非数字值 [!0-9] A, a, &, ~ 0, 1, 9
复合值 a[!b-m]# An9, az0, a99 abc, aj0
请参阅
SQL 表达式 在字符串比较中使用通配符
WHERE 子句
Like 运算符
将字符串表达式与 SQL 表达式中的模式进行比较。
语法
expression Like “pattern”
Like 运算符语法包含以下部分:
部分 说明
expression 在 WHERE 子句中使用的 SQL 表达式。
pattern 与 expression 进行比较的字符串文字。
说明
可以通过 Like 运算符来查找与所指定的模式相匹配的字段值。对于 pattern,可以指定完整的值(例如 Like "Smith"),也可以使用通配符来查找某个范围内的值(例如 Like "Sm*")。
在表达式中,可以使用 Like 运算符来比较字段值与字符串。例如,如果在 SQL 查询中输入 Like "C*",那么该查询将返回所有以字母 C 开头的字段值。在参数查询中,可以提示用户键入要搜索的模式。
下面的示例返回以字母 P 开头并且后面为 A 到 F 之间任何字母以及三个数字的数据:
Like “P[A-F]###”
下表展示了如何通过 Like 来测试不同模式的表达式。
匹配类型
模式 匹配
(返回 True) 不匹配
(返回 False)
多个字符 a*a aa, aBa, aBBBa aBC
*ab* abc, AABB, Xab aZb, bac
特殊字符 a[*]a a*a aaa
多个字符 ab* abcdefg, abc cab, aab
单个字符 a?a aaa, a3a, aBa aBBBa
单个数字 a#a a0a, a1a, a2a aaa, a10a
字符范围 [a-z] f, p, j 2, &
范围之外 [!a-z] 9, &, % b, a
非数字值 [!0-9] A, a, &, ~ 0, 1, 9
复合值 a[!b-m]# An9, az0, a99 abc, aj0
请参阅
SQL 表达式 在字符串比较中使用通配符
WHERE 子句
#9
同时我查询了sql server的联机文档。
将通配符作为文字使用
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a、b、c、d 或 f
LIKE '[-acdf]' -、a、c、d 或 f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d 和 abc_de
LIKE 'abc[def]' abcd、abce 和 abcf
所以,在access 2003中,不定长通配符是使用*的。
将通配符作为文字使用
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a、b、c、d 或 f
LIKE '[-acdf]' -、a、c、d 或 f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d 和 abc_de
LIKE 'abc[def]' abcd、abce 和 abcf
所以,在access 2003中,不定长通配符是使用*的。
#10
为什么我的字段中是汉字的就查不到呢,这是什么原因啊,各路高手请指教。