列の最初の文字が特定の文字に等しく、2 番目の文字が [0-9] の数値であるすべての値を選択したいのですが、構文を完全に取得できません。
select * from table where var LIKE ("r*")
ありがとう、
select * from table where var LIKE "r%"
http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
2 番目の文字が数値であることを確認するには、次を使用する必要がありますREGEXP
。
select * from table where var REGEXP "^r[0-9]"
http://dev.mysql.com/doc/refman/5.0/en/regexp.html#operator_regexp
LIKE
2 つのワイルドカード文字を認識します。
_
任意の 1 文字に一致%
任意の数の文字に一致したがって、この場合、次を使用する必要があります。
SELECT * FROM `table` WHERE `var` LIKE 'r%'
編集:
特定の範囲の文字 (数字など) を許可したい場合、それはLIKE
のフィールドの範囲外ですREGEXP
:
SELECT * FROM `table` WHERE `var` REGEXP '^r[0-9]'
正規表現は少し異なることに注意してください。これらは文字列のどこにでも一致する可能性があるため、^
は最初だけを見るように指示しますLIKE
。
単純 :)
select * from table where var LIKE 'r%'
またはさらに良い
select * from table where lower(var) LIKE 'r%'
編集 :
select * from table where var REGEXP "^r[0-9]"
次の構文に注意してください。
SELECT * FROM table WHERE var LIKE 'r%'
* ではなく % を使用する必要があります
SELECT *
FROM table
WHERE var LIKE "r%"