2016-08-08 43 views
0

例如,即時通訊使用下面的查詢,我得到以下錯誤相應是否可以使用通配符檢查SQL中的數字列?

SELECT MIN(amt) FROM trnsact 
WHERE amt NOT LIKE '0%'; 

這裏,AMT是購買AMT,所以我想用上面的查詢,找出最便宜的進貨量,但也有很多像0,0.1 0.02等值的行。我不想要所有這些。也許我想要的值小於1。 我得到的錯誤是:

錯誤代碼 - 3544 錯誤消息 - [Teradata數據庫] [TeraJDBC 15.10.00.05] [錯誤3544] [HY000的SQLState]部分字符串匹配需要字符的操作數。

請幫幫忙!

+4

爲什麼不'AMT> = 1'不是更好嗎? – Uueerdo

+0

這是正確的。我不知道爲什麼我不這麼想。謝謝@ @Uueerdo :) – Vish

+0

對於你可能真的想要使用通配符的情況(例如檢查數字中是否有數字),你可以將數字轉換爲varchar進行比較:'CAST(amt AS VARCHAR)'或者用'CONCAT(amt)'隱式表示。 – hsan

回答

0

只要您可以使用

SELECT MIN(amt) FROM trnsact WHERE amt >= 1; 
相關問題