SQL查询 - 如何将包含美元符号的文本字段仅转换为十进制(去掉美元符号)

时间:2013-08-24 16:12:44

标签: mysql null char decimal dollar-sign

我在MySQl数据库上运行一个查询,我有一个文本字符字段,其中包含一个带有美元符号和数字的美元金额(即$ 1,345.89)我需要检查非NULL(某些文本)字段为NULL)并且该值大于0.如何将此文本字段转换为十进制值,以便我可以验证它是否大于0.我不想更改数据库中的原始文本。 / p>

由于

这是我尝试过的一个查询,但它不起作用:

SELECT parcel, year, due FROM {deliquent_property {1}}

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