Php 在MySQL中使用SUBSTR(),其中

Php 在MySQL中使用SUBSTR(),其中,php,mysql,Php,Mysql,是否可以使用如下查询: SELECT `id`, `userid` FROM `table` WHERE SUBSTR(`displayname`, 0, 5)='aString' 所以我想SUBSTR()其中的部分,而不是列部分,但它似乎不起作用…是的,您可以使用它: SELECT `id`, `userid` FROM `table` WHERE SUBSTR(`displayname`, 1, 7)='aString'; 它会起作用的 请记住,此条件不是可搜索的,如果存在,则不会在

是否可以使用如下查询:

SELECT `id`, `userid` FROM `table` WHERE SUBSTR(`displayname`, 0, 5)='aString'
所以我想
SUBSTR()
其中的
部分,而不是列部分,但它似乎不起作用…

是的,您可以使用它:

SELECT `id`, `userid` 
FROM `table` 
WHERE SUBSTR(`displayname`, 1, 7)='aString';
它会起作用的

请记住,此条件不是可搜索的,如果存在,则不会在
displayname
上使用索引


您可以将其改写为:

SELECT `id`, `userid` 
FROM `table` 
WHERE `displayname` LIKE 'aString%';
是的,您可以使用它:

SELECT `id`, `userid` 
FROM `table` 
WHERE SUBSTR(`displayname`, 1, 7)='aString';
它会起作用的

请记住,此条件不是可搜索的,如果存在,则不会在
displayname
上使用索引


您可以将其改写为:

SELECT `id`, `userid` 
FROM `table` 
WHERE `displayname` LIKE 'aString%';

它的工作原理如下(请注意
1
而不是
0
):


它的工作原理如下(请注意
1
而不是
0
):


你为什么说它不起作用?一个好问题需要一条错误消息或指示性输出。因为(见我自己的答案)我犯了一个错误,MySQL从1开始一个字符串,PHP从0开始。所以我没有得到输出,但也没有错误消息。为什么你说它不工作?一个好问题需要一条错误消息或指示性输出。因为(见我自己的答案)我犯了一个错误,MySQL从1开始一个字符串,PHP从0开始。因此,我没有得到输出,但也没有错误消息。