我将三个字段连接到一个字段中,但是当我运行查询时,结果集是正确的,但它们在一个字段内的间隔不均匀。如何整齐和正确地隔离它们。谢谢你的帮助。
以下是查询:
SELECT CONVERT(varchar(20),Book)+ Space(2) + '(' + CONVERT(varchar(30),Year)
+ ')' + Space(2) + '(' + CONVERT(varchar(30),Print) + ')' As 'Film Description', Genre,
Cost
FROM Film
Order By Year DESC, Book ASC
答案 0 :(得分:0)
使用Convert(Char(
代替Convert(Varchar(
变种人把空间剥掉了..
答案 1 :(得分:0)
由于VARCHAR
忽略尾随空格,因此您需要使用不同的数据类型(例如CHAR
)。其他一些评论:
year
和print
等保留字作为列名'single quotes'
作为别名分隔符([square brackets]
更具有前瞻性,更难与字符串文字混淆)dbo.Film
)DECLARE @Film TABLE(Book VARCHAR(255), [Year] INT, [Print] VARCHAR(255));
INSERT @Film
SELECT 'a', 2012, 'hello there this is at least 30 characters, right?'
UNION ALL
SELECT 'this must be at least 30 characters too, right?', 2011, 'b';
SELECT CONVERT(CHAR(20), Book)
+ SPACE(2)
+ '(' + CONVERT(CHAR(4),[Year]) + ')'
+ SPACE(2)
+ '(' + CONVERT(CHAR(30), [Print]) + ')'
As [Film Description]
FROM @Film
Order By [Year] DESC, Book;