Sql 转换为字符,但以空白完成
我必须在某个领域进行研究。Field1和Field2是整数,当我转换为char时,它们必须具有 特定的尺寸。如果field1的值为123,则结果必须为“123”(带空格) 最后我想要这样的东西: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,
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的查询