私は当初、これは些細なことだと思っていました。次に、「バイナリ」がそれを行う可能性があると考えました。現時点ではわかりません。
Name
----
John
MARY
Kin
TED
すべて大文字のMARYとTEDだけをクエリしたいと思います。これをどのように照会しますか?
私は当初、これは些細なことだと思っていました。次に、「バイナリ」がそれを行う可能性があると考えました。現時点ではわかりません。
Name
----
John
MARY
Kin
TED
すべて大文字のMARYとTEDだけをクエリしたいと思います。これをどのように照会しますか?
照合で大文字と小文字が区別されない場合は、BINARY
比較を使用する必要があります。
SELECT *
FROM yourtable
WHERE Name = BINARY UPPER(Name)
オンラインで動作することを確認してください: sqlfiddle
フィールドでUPPER()関数を使用しName
、結果を の元の値と比較するだけですName
。
select Name from Table where Name = UPPER(Name)
こちらです
UPPER(Name) || Name
---------------------------------------
JOHN != John
MARY == MARY
KIN != Kin
TED == TED
必要な行だけが返されます。
@mdoyle がここにコメントしたように、正しい照合 (大文字と小文字を区別) を使用して列を定義する必要があります。
これを試して:
select name from table where name=upper(name);
以下を使用:
SELECT name FROM table WHERE name = BINARY UPPER(column_name);
これを試して:
SELECT Name
FROM table
WHERE Name COLLATE latin1_general_cs LIKE UPPER(Name)
;
これも数値を返しますが、列名の問題ではないようです。
SELECT * FROM names WHERE
ASCII(name) = ASCII(Upper(name))