私はサンプルデモと私が結果として得ているものを与えています。MySQLデータベースからENUM値を見つけるには?
ステータスフィールドのタイプはENUMです。私は次のようにENUMの結果を取得しようとしているときに
:
select name, status+0 from demo;
私はまたIN(0,2)
とstatus=2
クエリを試してみました。1. 2と3の名前とステータスを取得しておりません。
私はサンプルデモと私が結果として得ているものを与えています。MySQLデータベースからENUM値を見つけるには?
ステータスフィールドのタイプはENUMです。私は次のようにENUMの結果を取得しようとしているときに
:
select name, status+0 from demo;
私はまたIN(0,2)
とstatus=2
クエリを試してみました。1. 2と3の名前とステータスを取得しておりません。
Enum
値のよう'
単一引用符を使用して比較することができます。
SELECT `name` FROM `demo` WHERE `demo`.`status` = '1'
または
SELECT `name` FROM `demo` WHERE `demo`.`status` IN('11, '2')
ありがとうございました。あなたの答えはありがとうございます。 –
次のことができ、このようなユーザQuery
:
SELECT `name` FROM `demo` WHERE `demo`.`status` = 1
あなたがstatus is 0
名前を取得します。
あなたはステータスが1と2でデータを取得したい場合は、ちょうど持って追加するには、WHERE条件のように:
WHERE (`demo`.`status` = 1 OR `demo`.`status` = 2)
ありがとうございました。あなたの答えはありがとうございます。 –
理由は、列挙型tinyintの内部データ型(0から始まる)とwhere句でステータスを使用しているときstatus = 0にすると、where句はfalseを返します。このシナリオでは
ルック:
SELECT `name`, `status` FROM `demo` WHERE `demo`.`status` = 0
これは条件満たされていない作りと何の結果を返しません。
status = 1または2の場合、満足して対応する行が返されます。
ソリューション:
SELECT `name`, `status` FROM `demo` WHERE `demo`.`status` > -1
がhttps://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-beを参照してください。 -a-very-simple-sql-query – Strawberry