SQL - 如何在单词末尾选择具有特定值的单词

时间:2013-03-10 15:38:55

标签: sql select

我是sql的新手,我想知道如何在名为Name的列的值末尾找到字母或符号? 例如,如果我找到了我会写select * from 'table' where 'Name' like '%es%'的内容,但它会发现我所有的行都包含es
让我们说 - lesl, pespe, mess ...但是如何编写选择哪个只会选择'es'的值?在单词的结尾? ...使用regex我将使用es\Z .....提前感谢!

5 个答案:

答案 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)

  1. 如果要查找名称,请以“ test”之类的字母开头 使用=>从表中选择名称,其中名称类似于“ test%”。
  2. 如果要查找名称以“ test”等结尾 使用=>从表中选择名称,其中名称类似于'%test'。
  3. 如果要查找以s开头并以h结尾的名称 使用=>从表中选择名称,例如“ s%”和“%h”,或者从表中选择名称,例如“ s%h”。

答案 4 :(得分:0)

您也可以使用REGEX

select distinct city from station where city REGEXP '[aeiou]$';

资源:To Know more about REGEXP