在SQL中使用基于Char的科学记数法过滤行

时间:2014-12-03 05:29:33

标签: mysql sql

我有一个看起来像这样的表:

enter image description here

我们称之为mutable

结构如下:

enter image description here

我想要做的是根据evalue列过滤该表中的行 包含'1e-31'之类的信息。我怎么能用SQL查询呢?

我尝试了这个,但没有用:

      SELECT DISTINCT query_id, subject_id, perc_idd, evalue
      FROM mytable
      WHERE evalue < 1e-4

3 个答案:

答案 0 :(得分:0)

IN TSQL:

SELECT DISTINCT query_id, subject_id, perc_idd, evalue
FROM mytable
WHERE Cast(evalue as real) < 1e-4

答案 1 :(得分:0)

试试这个

select * from table1 where SUBSTRING_INDEX(evalue, '-', 1)='le' and 
convert(SUBSTRING_INDEX(evalue, '-',-1), UNSIGNED INTEGER) < 4

答案 2 :(得分:0)

您可以将其转换为二进制并匹配

select id from test where CONVERT(id,BINARY) < CONVERT('1-e4',BINARY)