mysql-从中选择。。到
在MySQL中是否可以为特定范围的项目选择行 例如,当我想按字母顺序选择名称的第一个字母在B和T之间的所有项目时。 我知道我也可以使用PHP,但如果在MySQL中可以这样做,我会节省一些时间 是否可能,如果可能,如何实现 理想情况如下:mysql-从中选择。。到,mysql,select,rows,Mysql,Select,Rows,在MySQL中是否可以为特定范围的项目选择行 例如,当我想按字母顺序选择名称的第一个字母在B和T之间的所有项目时。 我知道我也可以使用PHP,但如果在MySQL中可以这样做,我会节省一些时间 是否可能,如果可能,如何实现 理想情况如下: $sql="SELECT * FROM paths FROM name=name1 TO name=name6"; //which would select name1, 2, 3, 4, 5, 6. 在之间使用基本上可以达到目的,但你需要在你想要结束的地方使
$sql="SELECT * FROM paths FROM name=name1 TO name=name6"; //which would select name1, 2, 3, 4, 5, 6.
在之间使用
基本上可以达到目的,但你需要在你想要结束的地方使用一个字母。尝试直到你得到你想要的结果
SELECT * FROM paths WHERE UPPER(name) BETWEEN 'B' AND 'U';
这里的想法是,所有以“T”开头的内容都将按字母顺序排列在以“U”开头的内容之前。您需要通过upper()
将其转换为大写,这样您就不会遇到潜在的排序问题
因此,您的结果可能是:
B,
Bill
Bob
Jane
Tommy
Travis
但是Uwe
(他是德国人)将被排除在外。在之间使用基本上可以达到目的,但你需要在你想结束的地方使用一个字母。尝试直到你得到你想要的结果
SELECT * FROM paths WHERE UPPER(name) BETWEEN 'B' AND 'U';
这里的想法是,所有以“T”开头的内容都将按字母顺序排列在以“U”开头的内容之前。您需要通过upper()
将其转换为大写,这样您就不会遇到潜在的排序问题
因此,您的结果可能是:
B,
Bill
Bob
Jane
Tommy
Travis
但是Uwe
(他是德国人)将被排除在外。您可以在之间使用,如:
SELECT * FROM paths WHERE name BETWEEN 'B' AND 'U'
您可以在
之间使用,如:
SELECT * FROM paths WHERE name BETWEEN 'B' AND 'U'
含糖的谢谢这正是我要找的!部分匹配是否也可以这样做,例如,当名称为、BAA、BBB、CDA、CEF、PFE等时?@laarsk部分匹配受相同规则的约束,因此是的,它应该可以工作。换句话说,只要它以U
之前的内容开头,它就会被包括在内。太好了,非常感谢![仍然需要等待4分钟才能将此标记为答案…]但是,在name上使用函数会扼杀任何使用索引的机会。如果使用区分大小写的排序规则,最好使用where(名称在'B'和'U'之间或名称在'B'和'U'之间)
。太好了!谢谢这正是我要找的!部分匹配是否也可以这样做,例如,当名称为、BAA、BBB、CDA、CEF、PFE等时?@laarsk部分匹配受相同规则的约束,因此是的,它应该可以工作。换句话说,只要它以U
之前的内容开头,它就会被包括在内。太好了,非常感谢![仍然需要等待4分钟才能将此标记为答案…]但是,在name上使用函数会扼杀任何使用索引的机会。如果使用区分大小写的排序规则,最好使用where(名称在'B'和'U'之间或名称在'B'和'U'之间)
。不,参数2应该是'name7',否则,name6将不会被夹在两者之间(因此其他人使用'U'表示结束get'T's不,参数2应该是'name7',或者,name6不会被夹在中间(因此其他人使用'U'表示结束get'T's