将字母转换为数字,反之亦然

时间:2016-05-16 06:46:38

标签: database oracle

TRADE_SIDE值存储在DB中,值为1或2。 另一方面,SPOT_SIDE值与DB中的等效A和B值一起存储。 我需要找到一种方法来在查询数据库时比较where子句中的这些值。 1表示A,2表示B. 你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

简单CASE EXPRESSION可以解决问题:

SELECT * FROM trade_side t
INNER JOIN spot_side s
 ON(CASE WHEN t.<YourColumn> = 1 THEN 'A' ELSE 'B' END = s.<YourColumn>)

此查询将两个表连接在一起(1 = a,2 = b)。如果您有超过2个值,则应添加另一个WHEN