PostgreSQLで文字列と半角数字混じりのカラムの正規表現 [備忘録(sql)]
PostgreSQLで正規表現です。
特定の文字列と数字が含まれるレコードを抽出するのにはまりました。
これでできました。
例:ほげ000ほ
SELECT * FROM table WHERE name ~ '^ほげ[0-9]*ほ$'
ちなみに半角数字のみ半角英数も試してみました。
◆半角数字のチェック
SELECT * FROM table WHERE id ~ '[0-9]+';
◆半角英数字も問題なくチェックできます。
SELECT * FROM table WHERE id ~ '[0-9a-zA-Z]*';
◆ただし、このままだと日本語が混じった文(abcほd)は判断できなかったので修正。
SELECT * FROM table WHERE id ~ '^[0-9a-zA-Z]*$';
特定の文字列と数字が含まれるレコードを抽出するのにはまりました。
これでできました。
例:ほげ000ほ
SELECT * FROM table WHERE name ~ '^ほげ[0-9]*ほ$'
ちなみに半角数字のみ半角英数も試してみました。
◆半角数字のチェック
SELECT * FROM table WHERE id ~ '[0-9]+';
◆半角英数字も問題なくチェックできます。
SELECT * FROM table WHERE id ~ '[0-9a-zA-Z]*';
◆ただし、このままだと日本語が混じった文(abcほd)は判断できなかったので修正。
SELECT * FROM table WHERE id ~ '^[0-9a-zA-Z]*$';
タグ:PostgreSQL SQL
コメント 0