事物之间的问题 - 时间 - 形式之间的问题

时间:2010-12-21 10:55:46

标签: sql case-when

我有一个案例,我有产品代码,长度为4个符号。然后在某些情况下,产品基本上与第一个符号无关,例如一个产品代码为7456,另一个产品代码为8456,这些产品仍然具有相同的功能。所以唯一的区别是第一个符号,而rigth中的三个符号保持不变。

我的问题是我想比较两个数据表,在第一个表中可以使用代码7456,在第二个代码中使用代码8456.我想将这两个数据加在一起,但我不知道如何告诉SQL,如果代码以7或8开头,则使用最后三个符号。

我认为可能的解决方案是某种情况,当7000-8999之间的值然后使用3正确,但我不能让这个代码工作?有人会为我解决???谢谢!

1 个答案:

答案 0 :(得分:0)

你在寻找像这样的东西

CASE
    WHEN value BETWEEN '7000' AND '8999'
        THEN RIGHT(value, 3)
    ELSE value
END