3

likeSQL で数値列を検索するにはどうすればよいですか?

の数字が欲しいlike '0.0000%'

で試しました

select * from emp where emp_id & '' like '123%'
select * from emp where CONVERT(varchar(20), emp_id) like '123%'

しかし無駄に。

私を助けてください

4

3 に答える 3

8

使用している DBMS に関係なく、これを行う正当な理由があると仮定すると、このような問題を解決する方法はいくつかあります。今思いつくのは次の3つです。

  1. 数値を文字列に変換し、これに LIKE 演算子を使用します。

    select *
    from emp
    where to_char(emp_id) like '123%';
    
  2. 数学演算子を直接使用します (Andrey が提案するように)。たとえば、次のようになります。

    select *
    from table
    where num between 0 and 0.0001;
    
  3. 数式を作成します (実際には、これは方法 2 の別のケースです)。たとえば、次のようになります。

    select *
    from table
    where abs(num - round(num, 5)) < 0.00001;
    
于 2013-04-24T12:12:10.447 に答える
2

比較演算子 (> と <) を使用します。

select * from table where num > 0 and num < 0.00001
于 2013-04-24T08:24:28.300 に答える
0

select 0.0001*1000 from dual if it is <1 は、0.0001 に 3 つ以上のゼロがあることを意味します。だから私は select * from emp where emp_id*10000<1 が好きでした

于 2013-04-24T11:01:38.613 に答える