日期:2014-05-17  浏览次数:20609 次

请教一个判断查询语句
现表里有一字段 比如价格 price1
类型是varchar的 里面有美元值比如 US8.88 和人民币值 8.88
另有一字段 price2 类型是decimal
如何将这两个字段比较价格大小
请大神指教一下
查询 比较大小

------解决方案--------------------
这样的话,我只能说数据库设计不合格。
建议将price1,price2都分别拆分成2个字段,货币 和 值,如果price1,price2的货币都是一样的,那么拆分后就是3列,如果不一样,那你就需要通过汇率换算。
------解决方案--------------------
引用:
谢谢 数据库不是我设计的 现在改也没办法了
我的问题说的不清楚
如果查询一条还能理解
现在是唯一的条件 price1大于price2 查询出所以符合条件的记录
请大神给一点思路

这个得按照 你price1里面的数据来拆分了
你贴一下你price1里面的数据都有什么
------解决方案--------------------
select *
,convert(float,case when price1 like 'US%' then REPLACE(price1, 'US', '') else price1 end) price1_new
 from (
select 'US8.8' price1, 5 price2
union 
select '4.8', 5
) aa