如何在SQL中仅选择实数数据

Mr.*_*ike 2 sql postgresql

如何用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)

a_h*_*ame 5

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)