基於字符科學記數法我有一個表,看起來像這樣:過濾行與SQL
我們稱之爲mutable
,結構是這樣的:
我想要做的是根據0123過濾該表中的行包含像'1e-31'這樣的信息的列 。我怎麼用SQL查詢來做到這一點?
我試過,但無濟於事:
SELECT DISTINCT query_id, subject_id, perc_idd, evalue
FROM mytable
WHERE evalue < 1e-4
基於字符科學記數法我有一個表,看起來像這樣:過濾行與SQL
我們稱之爲mutable
,結構是這樣的:
我想要做的是根據0123過濾該表中的行包含像'1e-31'這樣的信息的列 。我怎麼用SQL查詢來做到這一點?
我試過,但無濟於事:
SELECT DISTINCT query_id, subject_id, perc_idd, evalue
FROM mytable
WHERE evalue < 1e-4
在TSQL:
SELECT DISTINCT query_id, subject_id, perc_idd, evalue
FROM mytable
WHERE Cast(evalue as real) < 1e-4
嘗試這樣
select * from table1 where SUBSTRING_INDEX(evalue, '-', 1)='le' and
convert(SUBSTRING_INDEX(evalue, '-',-1), UNSIGNED INTEGER) < 4
你可以把它轉換爲二進制和匹配
select id from test where CONVERT(id,BINARY) < CONVERT('1-e4',BINARY)
@Deepshika:那不行。我想要得到小於等於1e-4的值。 – neversaint 2014-12-03 05:38:56
@Deepshika:我得到這個錯誤'你的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'real'附近使用正確的語法作爲金錢)與nvarchar(255)),'。00','')<1e-4'在第1行。' – neversaint 2014-12-03 05:49:54
oh wrong標籤,然後我建議T-SQL ..讓我編輯相同的MySQL以及.. – Deepshikha 2014-12-03 05:51:32