Cha*_*unn 1 mysql null decimal char dollar-sign
我在MySQl数据库上运行查询,我有一个文本字符字段,其中包含一个美元符号和一个数字(即$ 1,345.89)我需要检查非NULL(一些文本字段为NULL)并且该值大于0.如何将此文本字段转换为十进制值,以便我可以验证它是否大于0.我不想更改数据库中的原始文本.
谢谢
这是我试过的一个查询,但它不起作用:
SELECT parcel, year, due
FROM
deliquent_property
WHERE year IN ('2013', '2012', '2011', '2010')
GROUP BY parcel
HAVING due LIKE '%[0-9]%';
这个查询可以解决这个问题:
SELECT ID,
CAST(REPLACE(REPLACE(IFNULL(Amount,0),',',''),'$','') AS DECIMAL(10,2))
FROM Table1
WHERE CAST(REPLACE(REPLACE(IFNULL(Amount,0),',',''),'$','') AS DECIMAL(10,2)) > 0
Run Code Online (Sandbox Code Playgroud)
请参阅SQLFIDDLE:http://www.sqlfiddle.com/#!2 / 55f433/1 /0