카테고리 없음

[tsql] 열을 결합하는 쿼리가 NULL을 반환하는 이유는 무엇입니까?

행복을전해요 2021. 2. 9. 08:18

p.Title 열이 NULL이라고 가정하더라도

그 행을위한 것입니다.

열 p.Id가 NULL이 아니므로 [결과가 null이 아닌 결과]를 예상합니다.

아니. 당신이 연결할 경우 NULL사용하여 SQL 서버에 아무것도 +연산자를 당신은 그만 둘 NULL경우를 제외하고 concat_null_yields_null있다 OFF.

CONCAT대신 함수를 사용할 수 있습니다 . 이것은 또한CAST

DECLARE @UserId INT = ##UserId##

SELECT p.Id,
       CONCAT('<a href=http://stackoverflow.com/questions/', 
                     p.Id, 
                                   '>',
                                                 p.Id, 
                                                               ' - ',
                                                                             p.Title COLLATE SQL_Latin1_General_CP1_CI_AS, 
                                                                                           '</a>'),
                                                                                                  c.Text
                                                                                                  FROM   Users u
                                                                                                         JOIN Comments c
                                                                                                                  ON c.UserId = @UserId
                                                                                                                         JOIN Posts p
                                                                                                                                  ON p.Id = c.PostId
                                                                                                                                  WHERE  u.Id = @UserId
                                                                                                                                         AND p.Id IS NOT NULL 
                                                                                                                                         


출처
https://stackoverflow.com/questions/22050355