some(すべてではない)値にパーセンテージが含まれているテーブルにcharacter varying
エントリがあります(例:'12%'
、'97%'
など)。すべてのパーセンテージを含む値。つまり、パーセント記号('%'
)で終わるすべての値を検索したいと思います。
あなたはこのように試すことができます:
SELECT * FROM my_table WHERE my_column LIKE '%\%%' ESCAPE '\';
形式
<like predicate> ::=
<match value> [ NOT ] LIKE <pattern>
[ ESCAPE <escape character> ]
<match value> ::= <character value expression>
<pattern> ::= <character value expression>
<escape character> ::= <character value expression>
リテラル%記号をエスケープする必要があります。デフォルトでは、エスケープ文字はバックスラッシュです。
SELECT * FROM my_table WHERE my_column LIKE '%\%';
この場合、最初の%
記号はmy_column
の開始シーケンスと一致します。残りの\%
は、リテラル%文字として解釈されます。したがって、組み合わせは次のとおりです。%文字で終わるすべてのものに一致します。
私は正規表現を使用してしまいました:
select * from my_table where my_column ~ '%$';
ただし、LIKE
演算子/比較を使用してそれが可能かどうかを知りたいのですが。