1. ホーム
  2. sql

[解決済み] SQL LIKE 条件で整数をチェックする?

2023-03-31 07:03:57

質問

例えば、タイトルが "A" で始まるすべての書籍を取得するために、SQL LIKE 条件のセットを使用してアルファベットを通過し、適切な文字で始まるすべての項目をリストアップしています。

SELECT * FROM books WHERE title ILIKE "A%"

文字ならそれでいいのですが、任意の数字で始まる項目をすべてリストアップするにはどうしたらいいのでしょうか? ちなみにこれはPostgresのDB上です。

どのように解決するのですか?

これは、数字で始まるタイトルを持つすべての本を(正規表現で)選択するものですが、あなたが望むものはこれですか?

SELECT * FROM books WHERE title ~ '^[0-9]'

特定の数字で始まる整数が欲しい場合は、以下のようになります。

SELECT * FROM books WHERE CAST(price AS TEXT) LIKE '123%'

を使うか(すべての数値が同じ桁数の場合(その場合は制約があると便利です))。

SELECT * FROM books WHERE price BETWEEN 123000 AND 123999;