d***a 发帖数: 316 | 1 用
SELECT * FROM customers
WHERE CompanyName LIKE '%s_s%'
找到的结果里有一个是 Paris spécialités
但是换成
SELECT * FROM customers
WHERE CompanyName LIKE '%s%s%'
之后,这个 Paris spécialités 没有了。
我原来认为 % 得到的结果应该包括所有 _ 得到的结果,这两个wildcard有什么别的
问题吗?
多谢 |
n******1 发帖数: 3756 | |
t****n 发帖数: 10724 | 3 in this case, they should return the same result.
【在 d***a 的大作中提到】 : 用 : SELECT * FROM customers : WHERE CompanyName LIKE '%s_s%' : 找到的结果里有一个是 Paris spécialités : 但是换成 : SELECT * FROM customers : WHERE CompanyName LIKE '%s%s%' : 之后,这个 Paris spécialités 没有了。 : 我原来认为 % 得到的结果应该包括所有 _ 得到的结果,这两个wildcard有什么别的 : 问题吗?
|
P********R 发帖数: 1691 | 4 在MS SQL Servre里,这两个是不一样的,‘%’代表0-多个字符,而‘_’代表一个字
符。
比如用‘_’,可以找到‘Bob Blessing’
用‘%’,可以找到‘Bob Blessing’和‘Blaine Brown’。
【在 d***a 的大作中提到】 : 用 : SELECT * FROM customers : WHERE CompanyName LIKE '%s_s%' : 找到的结果里有一个是 Paris spécialités : 但是换成 : SELECT * FROM customers : WHERE CompanyName LIKE '%s%s%' : 之后,这个 Paris spécialités 没有了。 : 我原来认为 % 得到的结果应该包括所有 _ 得到的结果,这两个wildcard有什么别的 : 问题吗?
|
d***a 发帖数: 316 | 5 我也这样认为,% 的结果应该包括 _ 的结果。
也许是网上教程的网页compiler出了什么问题。
【在 P********R 的大作中提到】 : 在MS SQL Servre里,这两个是不一样的,‘%’代表0-多个字符,而‘_’代表一个字 : 符。 : 比如用‘_’,可以找到‘Bob Blessing’ : 用‘%’,可以找到‘Bob Blessing’和‘Blaine Brown’。
|