使用空連接來你的優勢,這將消除不必要的分隔符:
SELECT
UserID, CustomerNum
,ISNULL(UserName+' - ','')
+ISNULL(UserAddress+', ','')
+ISNULL(UserCity+' ','')
+ISNULL(UserState,'') AS UserInfo
FROM Users
WHERE CustomerNum = @CustomerNum
ORDER BY UserName
工作示例:
DECLARE @Users table (userID int, CustomerNum int,UserName varchar(20), UserAddress varchar(20), UserCity varchar(20), UserState varchar(20))
INSERT @Users VALUES (1,111,'Sam','123 First St.', 'city name', 'state name')
INSERT @Users VALUES (2,111,null,'123 First St.', 'city name', 'state name')
INSERT @Users VALUES (3,111,'Sam',null, 'city name', 'state name')
INSERT @Users VALUES (4,111,'Sam','123 First St.', null, 'state name')
INSERT @Users VALUES (5,111,'Sam','123 First St.', 'city name', null)
INSERT @Users VALUES (6,111,null,null, 'city name', 'state name')
SELECT
UserID, CustomerNum
,ISNULL(UserName+' - ','')
+ISNULL(UserAddress+', ','')
+ISNULL(UserCity+' ','')
+ISNULL(UserState,'') AS UserInfo
FROM @Users
--WHERE CustomerNum = @CustomerNum
ORDER BY userID
OUTPUT:
UserID CustomerNum UserInfo
----------- ----------- -------------------------------------------
1 111 Sam - 123 First St., city name state name
2 111 123 First St., city name state name
3 111 Sam - city name state name
4 111 Sam - 123 First St., state name
5 111 Sam - 123 First St., city name
6 111 city name state name
(6 row(s) affected)
謝謝 - 工作。 – Curtis 2010-05-11 15:23:52