'Winning','BuyIn','ChampFund'下面的3个字段是VARCHAR数据类型,其值包含$ 250.00之类的$字符
我正在寻找的结果示例:
'赢'''买入' - 'ChampFund'为'净' 250美元 - 45美元 - 5美元= 200美元如果它们是INT数据类型,我会
Select *, Winnings - BuyIn - ChampFund As Net From gamedetail
任何关于如何实现这一点的建议将不胜感激。
答案 0 :(得分:1)
您根本不应将数字数据存储在字符串列中。这是一个非常糟糕的主意。
但是,您可以轻松地执行您想要的操作,因为MySQL会在数字上下文中将字符串转换为数字。类似的东西:
select (replace(replace(Winnings, '$', ''), ',', '') -
replace(replace(BuyIn, '$', ''), ',', '') -
replace(replace(ChampFund, '$', ''), ',', '')
)
我在逻辑中包含了逗号,因为通常在存在货币符号时,千位分隔符也是如此。此外,您不应将列名称放在单引号中,但这可能就是您提出问题的方式。