我在MySQl数据库上运行一个查询,我有一个文本字符字段,其中包含一个带有美元符号和数字的美元金额(即$ 1,345.89)我需要检查非NULL(某些文本)字段为NULL)并且该值大于0.如何将此文本字段转换为十进制值,以便我可以验证它是否大于0.我不想更改数据库中的原始文本。 / p>
由于
这是我尝试过的一个查询,但它不起作用:
SELECT parcel, year, due
FROM
{deliquent_property {1}}
答案 0 :(得分:7)
此查询可以解决问题:
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
请参阅SQLFIDDLE:http://www.sqlfiddle.com/#!2/55f433/1/0