如何在SQL中的数字列上进行like
搜索?
我想要like '0.0000%'
的数字。
我试过
select * from emp where emp_id & '' like '123%'
select * from emp where CONVERT(varchar(20), emp_id) like '123%'
但是徒劳无功。
请帮帮我
答案 0 :(得分:6)
无论您使用哪种DBMS并假设您有正当理由这样做,您有几种方法可以解决这些问题。我现在可以想到三个:
将数字转换为字符串并在此处使用LIKE运算符:
select *
from emp
where to_char(emp_id) like '123%';
直接使用数学运算符(例如Andrey建议),例如:
select *
from table
where num between 0 and 0.0001;
构造一个数学表达式(实际上,这只是方法2的另一种情况),例如:
select *
from table
where abs(num - round(num, 5)) < 0.00001;
答案 1 :(得分:2)
使用比较运算符(&gt;和&lt;):
select * from table where num > 0 and num < 0.00001
答案 2 :(得分:0)
如果&lt; 1表示0.0001具有3个或更多零,则从双精度选择0.0001 * 1000。 所以我喜欢 select * from emp where emp_id * 10000&lt; 1