Sql 转换为字符,但以空白完成

Sql 转换为字符,但以空白完成,sql,sql-server,tsql,Sql,Sql Server,Tsql,我必须在某个领域进行研究。Field1和Field2是整数,当我转换为char时,它们必须具有 特定的尺寸。如果field1的值为123,则结果必须为“123”(带空格) 最后我想要这样的东西: SELECT ISNULL(CONVERT(CHAR(8), A.field1), REPLICATE(' ', 8)) + ISNULL(CONVERT(CHAR(10), A.field2), REPLICATE(' ', 10)) from #tmpTable a 如果该值为null,

我必须在某个领域进行研究。Field1和Field2是整数,当我转换为char时,它们必须具有 特定的尺寸。如果field1的值为123,则结果必须为“123”(带空格)

最后我想要这样的东西:

SELECT 
 ISNULL(CONVERT(CHAR(8), A.field1), REPLICATE(' ', 8)) + 
 ISNULL(CONVERT(CHAR(10), A.field2), REPLICATE(' ', 10)) 
from #tmpTable a
如果该值为null,则有8或10个空格

有什么想法吗

谢谢

更新1: 我需要的结果是

123        456
985454     232355

当您将整数转换为
char(8)
时,不需要
复制
,它将自动具有8个字符的长度

         1001335
         1001335
12401886 10994
更新

抱歉,您需要在
IsNull
之前转换为
char
,否则它将是零

像这样:

      Select Convert(Char(8), IsNull(a.Field1,'')) + 
           Convert(Char(10), IsNull(a.Field2,''))
    From #tmpTable

将整数转换为字符(8)时,不需要复制,它将自动具有8个字符的长度

         1001335
         1001335
12401886 10994
更新

抱歉,您需要在
IsNull
之前转换为
char
,否则它将是零

像这样:

      Select Convert(Char(8), IsNull(a.Field1,'')) + 
           Convert(Char(10), IsNull(a.Field2,''))
    From #tmpTable

第二行的加号似乎有误是删除了但不是问题第二行的加号似乎有误是删除了但不是问题抱歉我找不到生成0的查询抱歉我找不到生成0的查询