搜索其值中包含最后一个字符的表列

时间:2015-06-17 11:37:02

标签: php mysql

我有一个要执行的SQL查询,

我有一个名为ringSetName的列,其条目类似于

DFWR001921S
DFWER923231

等 我希望所有带有最后一个字符的条目为S

我尝试过使用

SELECT * 
FROM rings
WHERE ringSetName LIKE  '%s'
LIMIT 0 , 30

它不起作用

6 个答案:

答案 0 :(得分:1)

SELECT * 
FROM rings
WHERE ringSetName REGEXP '.*[sS]$'
LIMIT 0 , 30

答案 1 :(得分:1)

如果使用区分大小写的排序规则

,则可以尝试使用大写S
WHERE ringSetName LIKE  '%S'

否则它应该有效。请参阅SQLFiddle

中的此示例

答案 2 :(得分:0)

您可以使用substring()

SELECT * 
FROM rings
WHERE UPPER(SUBSTRING(ringSetName,-1)) = 'S'
LIMIT 0 , 30

答案 3 :(得分:0)

这可能会有所帮助,请使用它。

  SELECT * 
    FROM rings
    WHERE TRIM(ringSetName) LIKE  '%s$'
    LIMIT 0 , 30

答案 4 :(得分:0)

SELECT * FROM环WHERE UPPER(ringSetName)就像'%S' 限制0,30;

答案 5 :(得分:0)

SELECT *
FROM rings
WHERE ringSetName LIKE '%s' COLLATE utf8_general_ci

_ci表示case_insensitive

还会检查' '空白情况的最后一个字符。

如果返回一些' '的行,则应修剪行。

SELECT *
    FROM rings
    WHERE ringSetName LIKE '% '