Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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
Php MYSQL-Between子句_Php_Mysql - Fatal编程技术网

Php MYSQL-Between子句

Php MYSQL-Between子句,php,mysql,Php,Mysql,我正在根据一系列字母从数据库中选择姓氏。除了以Z开头的名字外,其他一切都正常。显然,BETWEEN子句不包括Z,就像它包含其他范围的字母一样。有没有一个简单的处理方法 $range1 = "V"; $range2 = "Z"; $sql = "SELECT id,first,last FROM users WHERE last BETWEEN '$range1' AND '$range2' ORDER BY last ASC"; 此查询将不包括以字母Z开头的名称。但是,如果范围为A-G,则将包

我正在根据一系列字母从数据库中选择姓氏。除了以Z开头的名字外,其他一切都正常。显然,BETWEEN子句不包括Z,就像它包含其他范围的字母一样。有没有一个简单的处理方法

$range1 = "V";
$range2 = "Z";
$sql = "SELECT id,first,last FROM users WHERE last BETWEEN '$range1' AND '$range2' ORDER BY last ASC";

此查询将不包括以字母Z开头的名称。但是,如果范围为A-G,则将包括带有G的名称。

基本问题是系统将字符数据转换为ascii等效值。当它这样做时,Z<但不等于Zebra,因此需要Z以外的下一个ascii字符。如果Z是90,那么[s]是91。所以如果你想要大写字母A和Z的所有延伸之间的所有东西,那么你需要它小于[s]范围2


或者,只比较第一个字母而不是整个字符串。

最后一个中只有一个字母吗?因为
G
'G'
。我明白你的意思。我只是把我的范围设为V-Zz。额外的z确保包含第一个z之后的所有字符。谢谢。这样也行只要你没有ZZa或Z'cho的姓氏,你就知道了。