我试图在表中查找“值”大于 1 亿 (100,000,000) 的条目,但我的查询返回不符合该标准的值。我有什么遗漏的吗?下面显示的是我的查询和一些返回值。
SELECT *
FROM cheese_production cp
WHERE cp.Value > 100000000
ORDER BY Value ASC;
10004000 |
10018000 |
10020000 |
10021000 |
10027000 |
10028000 |
100323000 |
10033000 |
100394000 |
10044000 |
100394000 |
理想情况下,它只会返回以下值:
100323000 |
100394000 |
100394000 |
字符串(如
varchar
)的排序方式与数字不同。就像 AAB 在 AA 之后一样,“1001”在“100”之后。 “2”也是如此。
如果你想像数字一样对它们进行排序,请将它们转换为整数。
SELECT *
FROM cheese_production cp
WHERE cast(cp.Value as integer) > 1000
ORDER BY Value ASC;