相关疑难解决方法(0)

将两个数据库列连接到一个结果集列

我使用以下SQL将一个表中的几个数据库列连接到结果集中的一列:

SELECT (field1 + '' + field2 + '' + field3) FROM table1

当其中一个字段为null时,我得到整个连接表达式的null结果.我怎么能克服这个?

数据库是MS SQL Server 2008.顺便说一下,这是连接数据库列的最佳方法吗?有没有标准的SQL这样做?

sql concatenation sql-server-2008

46
推荐指数
4
解决办法
35万
查看次数

一个值与其他值不同的情况,SQL Server

我有这个表结构表prices:

CREATE TABLE prices
(
     id int, 
     priceFrom int, 
     priceUp int
);

INSERT INTO prices (id, priceFrom, priceUp)
VALUES (1, 23, 23), (2, 0, 0), (3, 12, 13),
       (4, 40, 40), (5, 15, 15), (6, 0, 0);
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此输入图像描述

我有这个问题:

select 
    pricefrom, priceup,
    case
        when pricefrom = 0 then null
        when priceFrom <> priceUp then priceFrom + ' - ' + priceUp
        when priceFrom = priceUp then priceFrom
    end as FinalPrice
from 
    prices
Run Code Online (Sandbox Code Playgroud)

我需要的是做一个案例

  1. pricefrom = 0然后显示null
  2. pricefrom = …

sql sql-server case

23
推荐指数
3
解决办法
3811
查看次数

标签 统计

sql ×2

case ×1

concatenation ×1

sql-server ×1

sql-server-2008 ×1