■ はじめに
小ネタ。 SQLのテーブル調査をしていて、 大文字 / 小文字が含まれているか判定する必要があったのでメモ。
【1】大文字 / 小文字が含まれているか判定するには
[1] 大文字が含まれているかを判定
… WHERE 【対象項目】 != LOWER(【対象項目】);
[2] 小文字が含まれているかを判定
… WHERE 【対象項目】 != UPPER(【対象項目】);
【2】サンプル
* 試すDBがなければ、以下のサイトで行うといいかも、、、 * PostgreSQL15を想定
SQL Fiddle
https://www.db-fiddle.com/
1)使用データ
CREATE TABLE IF NOT EXISTS sample_table ( id INT, email VARCHAR(50) ); INSERT INTO sample_table (id,email) VALUES (1,'sample1@abc.com'), (2,'Sample2@ABC.com'), (3,'SAMPLE3@ABC.COM') ;
2)判定処理
[1] 大文字が含まれているかを判定
SELECT * FROM sample_table WHERE email != LOWER(email);
id | |
---|---|
2 | Sample2@ABC.com |
3 | SAMPLE3@ABC.COM |
[2] 小文字が含まれているかを判定
SELECT * FROM sample_table WHERE email != UPPER(email);
id | |
---|---|
1 | sample1@abc.com |
2 | Sample2@ABC.com |
参考文献
https://syanping.hatenablog.com/entry/2020/02/13/001310
関連記事
SQL ~ テーブル差分を調査することを考える ~
https://dk521123.hatenablog.com/entry/2024/09/22/220455
Snowflake ~ 文字列操作関連 ~
https://dk521123.hatenablog.com/entry/2022/10/01/000000