如何用SQL Select显示实数?
例如,表中的数据显示为:
Price
100000
10.0022
99980
0.0005
1.5
25000
0
20.5
Run Code Online (Sandbox Code Playgroud)
价格数据类型是数字.
我尝试这样的SQL查询但失败了:
SELECT price FROM price_table WHERE price LIKE '%.%';
Run Code Online (Sandbox Code Playgroud)
查询返回错误:
ERROR: operator does not exist: numeric ~~ unknown
Run Code Online (Sandbox Code Playgroud)
LIKE是字符串,而不是数字.如果要查找具有十进制数字的数字,请将它们与整数值进行比较:
select *
from price_table
where price::int <> price;
Run Code Online (Sandbox Code Playgroud)
为了能够使用,LIKE您需要先将数字转换为字符串:
select *
from price_table
where price::text like '%.%';
Run Code Online (Sandbox Code Playgroud)