PostgreSQL 半角英数字の正規表現

NO IMAGE

こんにちは、Mizutaniです。

PostgreSQLで正規表現ができることをネットで調り、さっそくトライ!
したのですが、検索の仕方が悪かったのか、日本語交じりだとうまくいきませんでした。
なので、基礎的な正規表現の例を紹介します。

ちなみにバージョンは PostgreSQL 8.4です。


◆正規表現はPostgreSQLで用意されているものを用います。

SELECT * FROM table_a WHERE id ~ ‘[0-9]+’;

これを応用します。

◆半角英数字も問題なくチェックできます。

SELECT * FROM table_a WHERE id ~ ‘[0-9a-zA-Z]*’;

◆ただし、このままだと日本語が混じった文(abcあd)は判断できなかったので修正。

SELECT * FROM table_a WHERE id ~ ‘^[0-9a-zA-Z]*$’;

これで半角英数字のチェックはできると思います。
意外と簡単にできますね。

◆ちなみに、
~ (チルダ)は必ずパターンの先頭に書きます。
先頭以外に配置してしまうとリテラルとして解釈されるので注意。
あと は行の終わりを意味します。

以上です。

CTA-IMAGE

インターンシップ2020募集中!

文理不問、全学年対象で体験できるインターンシップです。たくさんの学生さんと会えることを楽しみしています、是非ご参加ください。

1DAY:業界研究&プログラミング体験
IT業界研究セミナーとscratchを用いたプログラミング体験!

1WEEK:システム開発の流れを体験!
要件定義から設計、開発、テストまで、一連の業務を体験します。