将SUBSTR()与MySQL WHERE一起使用

时间:2016-05-19 11:52:38

标签: php mysql

是否可以使用这样的查询:

IndepVarComp

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

2 个答案:

答案 0 :(得分:1)

是的,您可以使用它:

SELECT `id`, `userid` 
FROM `table` 
WHERE SUBSTR(`displayname`, 1, 7)='aString';

它会起作用。

请注意,此条件不是SARGable,如果存在,则不会使用displayname上的索引。

您可以将其重写为:

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

答案 1 :(得分:0)

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

SELECT `id`, `userid` FROM `table` WHERE SUBSTR(`displayname`, 1, 5)='aString'