Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
concat SQL查询中的If语句_Sql_Sql Server - Fatal编程技术网

concat SQL查询中的If语句

concat SQL查询中的If语句,sql,sql-server,Sql,Sql Server,我有以下SQL语句: SELECT CONCAT(ISNULL(CONCAT(full_name,' ' ,'( ',(aff_bus) ),'('),' ) ') AS shnames,contactrecord_id FROM contactrecord ORDER BY shnames ASC 我在括号中显示aff_总线列,但如果aff_总线列为空,我不需要括号。如果aff_-bus列为空,如何删除括号?使用用例检查aff_-bus是否为空 SELECT CASE WHEN a

我有以下SQL语句:

SELECT CONCAT(ISNULL(CONCAT(full_name,' ' ,'( ',(aff_bus) ),'('),' ) ') AS shnames,contactrecord_id 
FROM contactrecord
ORDER BY shnames ASC


我在括号中显示
aff_总线
列,但如果
aff_总线
列为空,我不需要括号。如果
aff_-bus
列为空,如何删除括号?

使用用例检查
aff_-bus
是否为空

SELECT 
  CASE WHEN aff_bus IS NULL THEN full_name
       WHEN aff_bus = '' THEN full_name
       ELSE CONCAT(full_name, '(', aff_bus, ')') 
       END as shshames,
  contactrecord_id
FROM contactrecord
ORDER BY shnames ASC
利用使用
NULL
进行“添加”返回
NULL

SELECT ISNULL(full_name, '') + ISNULL(' ( ' + aff_bus + ' )', '') AS shnames, contactrecord_id 
FROM contactrecord
ORDER BY shnames ASC
  • 用于检查列是否为空的用例语句

    SELECT (CASE WHEN AFF_BUS IS NOT NULL AND AFF_BUS != '' 
             THEN  CONCAT(FULL_NAME,' ( ',aff_bus, ' ) ')
             ELSE  CONCAT (FULL_NAME,'')
         END) AS shnames, CONTACTRECORD_ID FROM CONTACTRECORD ORDER BY shnames ASC ;
    

  • 谢谢,如果aff_总线列为空怎么办?那么,您仍然会得到空的brakets…尝试
    NULLIF(aff_总线“”)
    而不是
    aff_总线
    。谢谢您,aff_总线列为空且不为空,因此我将其修改为:选择CASE WHEN aff_总线='',然后选择full_name ELSE CONCAT(full_name',(',aff_总线“”))结束为shnames,contactrecord\u id来自contactrecord,它工作得很好,再次感谢,我看到它说空白,但ISNULL欺骗了我,如果你愿意,你当然可以同时拥有“”和ISNULL的大小写