14

iamはSQLを初めて使用し、列の値の最後にある文字または記号を見つける方法を知りたいのNameですが。たとえば、私が書くselect * from 'table' where 'Name' like '%es%'ものを見つけたとしても、すべての行に含まれているものが見つかるとしましょうes
-...しかし、単語の最後にあるlesl, pespe, mess値だけを選択するselectを書く方法は ?'es'...使用するregex私は使用します es\Z.....事前に感謝します!

4

6 に答える 6

24

最後のを削除する必要があるため、 。で終わる%単語のみが選択されます。es

select * from table where Name like '%es'
于 2013-03-10T15:40:20.733 に答える
7

現在一致しているのは次のとおり ..where 'Name' like '%es%'です。

これはに相当しanything, then 'es' then anything elseます。

最後を削除する%と、場所が変わります anything then 'es'

要するに..あなたが必要..where 'Name' like '%es'

于 2013-03-10T15:44:15.450 に答える
4

クエリ..where'Name'like'%es'は、nameが"ES"で終わる列を検索します。ただし、名前が「E」または「S」で終わる列を見つける必要がある場合、クエリは次のようになります。

.. where'Name' LIKE'%[ES]'

于 2015-06-21T15:41:08.127 に答える
0
  1. 「test」のような名前で始まる名前を検索する場合は、「test%」のような名前のテーブルから名前を選択します。
  2. 「test」のような名前で終わる名前を検索する場合は、「%test」のような名前のテーブルから名前を選択します。
  3. sで始まり、hで終わる名前を検索する場合は、=>「s%」のような名前で「%h」のような名前のテーブルから名前を選択するか、「s%h」のような名前のテーブルから名前を選択します。
于 2020-01-05T06:43:58.270 に答える
0

REGEXも使用できます

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

リソース:REGEXPについて詳しく知る

于 2020-02-05T02:12:03.227 に答える
0

正規表現演算子/関数を使用してパターン[az]ed($)を試してください。

パターンの説明:

[az]-任意の文字に一致

es-文字通りesに一致します

($)-文字列の終わり(したがって、文字が続かないようにしてください)

完全なクエリは次のようになります。

select * from test 
where ingr regexp '[a-z]es($)'
于 2021-11-08T14:49:43.950 に答える