SQL IF THEN用于连接字段

时间:2010-08-30 14:36:05

标签: sql mysql

我有两列min_pricemin_price。大多数情况下,min_pricemax_price是相同的。而不是价格的两个单独的字段,我想只有一个“价格”字段。如果min_price和max_price相同,我想显示该价格。如果min_pricemax_price不同,那么我想显示一个串联的字符串(min_price“ - ”max_price)。这仅适用于表格网格,因此数据类型并不重要。

我会在我的选择中使用IF THEN语句吗?

select (lots of other stuff), min_price, min_price, (lots more stuff)

不知道从哪里开始。我正在使用MySQL 5.

3 个答案:

答案 0 :(得分:1)

你可以像这样使用case语句:

Select case when min_price = max_price then
            min_price
        else
            concat(min_price, '-' , max_price)
        end AS Price
from some_table

有关详细信息,请参阅此处: http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

答案 1 :(得分:0)

你走了:

select if(min_price=max_price,min_price,concat(min_price,' - ',max_price)) as price
from your_table;

答案 2 :(得分:0)

SELECT CASE WHEN max_price = min_price then cast(min_price as varchar(31)) 
       ELSE cast(min_price as varchar(15) + '-' + cast(max_price as varchar(15) 
       END as Pricew
FROm Some_table