你如何从mysql中选择字符串中的最后一个字符= x?

时间:2009-08-13 04:42:08

标签: mysql

我想从数据库中选择mov_id列中最后一个字符等于1和2的行。

查询怎么样?

6 个答案:

答案 0 :(得分:20)

SELECT * FROM `myTable` WHERE `mov_id` LIKE '%1' OR `mov_id` LIKE '%2'

%字符是一个匹配任何内容的通配符(如许多其他地方的*

答案 1 :(得分:7)

如果mov_id是数值(TINYINT,INT等等),那么您应该使用数字运算符。例如,使用模运算符保留最后一位数

SELECT * FROM mytable
WHERE (mov_id MOD 10) IN (1, 2)

如果mov_id是字符串,则可以使用LIKE或SUBSTRING()。 SUBSTRING()会稍快一些。

SELECT * FROM mytable
WHERE SUBSTRING(mov_id, -1) IN ('1', '2')

如果你的表很大或经常运行查询,你一定要考虑在你的表中添加一个列,你可以在其中存储mov_id的最后一个数字/字符,然后索引该列。

答案 2 :(得分:1)

也尝试这种方式:

Select feild1 from table where right(feild1,1) = 'x'

它显示最后一个值为x的字段。

答案 3 :(得分:0)

您还可以执行以下操作:

select
     your, fields, go, here
from table
where
     substring(mov_id, (char_length(move_id) - 1)) = x

答案 4 :(得分:0)

SELECT * FROM table WHERE mov_id REGEXP'1 $'或mov_id REGEXP'2 $'

答案 5 :(得分:0)

SELECT * FROM TABLE 在哪里(COLUMN_NAME,1)IN(' X')

如果你想匹配两个字符,只需将1替换为2。一般来说( COLUMN_NAME NO_OF_CHARACTER_YOU WANT_TO_MATCH_FROM_LAST

如果你想匹配起始字符,只需使用 LEFT而不是RIGHT