如何檢查是否value IS NOT NULL AND TRIM(value) != '' AND value != 0
?檢查值是否不爲NULL和TRIM(值)!=''AND值!= 0
如果我檢查'string' != 0
它總是返回false,所以它不工作。
它適用於不知道其查詢列的類型的通用查詢。
我需要做的是這樣(value IS NUMERIC TYPE AND value != 0)
value
可能是一個字符串,日期,時間,一滴,數量等
如何檢查是否value IS NOT NULL AND TRIM(value) != '' AND value != 0
?檢查值是否不爲NULL和TRIM(值)!=''AND值!= 0
如果我檢查'string' != 0
它總是返回false,所以它不工作。
它適用於不知道其查詢列的類型的通用查詢。
我需要做的是這樣(value IS NUMERIC TYPE AND value != 0)
value
可能是一個字符串,日期,時間,一滴,數量等
沒有列類型的知識,你可以求助於正則表達式來確定是否進行基於stringish或numberish列數據:
value IS NOT NULL AND
IF(value REGEXP '^-?[0-9]+(\.[0-9]+)?$', value <> 0, TRIM(value) <> '')
根據正則表達式的結果,它要麼與之比較的0
或反對''
。
警告包含'0'
的字符串將被認爲是空的,但在對MySQL網站進行拖網之後,我無法找到合適的解決方法。
我在做SQL數據遷移時使用記錄集做過類似的事情。
如果TRIM(字段(0).value的&「」)>「」那麼「我們有一個值
所以,如果它爲空,就成了一個空字符串,如果它不爲空,就變成了修剪串。 最有效的方法...可能不是,但它的工作原理。
如何處理包含'0'的字符串? –
@Jack在我的情況下,包含0的字符串將被視爲不爲空,並應返回true。 – Petah