我是sql的新手,我想知道如何在名为Name
的列的值末尾找到字母或符号?
例如,如果我找到了我会写select * from 'table' where 'Name' like '%es%'
的内容,但它会发现我所有的行都包含es
让我们说 - lesl, pespe, mess
...但是如何编写选择哪个只会选择'es'
的值?在单词的结尾? ...使用regex
我将使用es\Z
.....提前感谢!
答案 0 :(得分:12)
您必须删除最后一个%
,因此它只会选择带有es
的结尾字样。
select * from table where Name like '%es'
答案 1 :(得分:7)
您目前正在匹配:..where 'Name' like '%es%'
。
等同于anything, then 'es' then anything else
。
删除最后%
更改的位置
anything then 'es'
。
简而言之......你需要..where 'Name' like '%es'
答案 2 :(得分:3)
查询..其中'名称'如'%es'将找到名称以“ES”结尾的列。 但是如果我们需要找到名称以“E”或“S”结尾的列,则查询将是
..其中'姓名'喜欢'%[ES]'
答案 3 :(得分:0)
答案 4 :(得分:0)
您也可以使用REGEX
select distinct city from station where city REGEXP '[aeiou]$';