SELECT * FROM salers WHERE comm IN (0.12, 0,13, 0.15);
クエリは、他のクエリが値を返す間に空のセットを返します。ここで私はどこで間違いをしますか?小数点以下の値を持つmysqlのクエリ
SELECT * FROM salers WHERE comm IN (0.12, 0,13, 0.15);
クエリは、他のクエリが値を返す間に空のセットを返します。ここで私はどこで間違いをしますか?小数点以下の値を持つmysqlのクエリ
あなたの間違いである:0.13
変更するには:
SELECT * FROM salers WHERE comm IN (0.12, 0.13, 0.15);
"分数" の値は固定小数点値(decimal
)として、または浮動小数点値のいずれかとして表されています。後者は、等価操作で使用すると非常に面倒です。
comm
がdouble
またはfloat
の場合、カンマで間違えられることに加えて、これは危険です。あなたは、これがうまく機能することを見つけることがあります。
where cast(comm as decimal(10, 2)) in (0.12, 0.13, 0.15)
または、好ましくは、あなたが範囲を探すことができます。
where comm > 0.11 and comm < 0.16
10進数に変更され、INが機能しました。みんなありがとう。値の答えは本当に貴重でした。 –
'comm'列のデータ型は何ですか? –
Typo?カンマを0〜13にしますか? – jarlh
投稿 'comm'列の値とデータ型 – Mansoor