Sql 添加编号+;varchar获取字符串连接

Sql 添加编号+;varchar获取字符串连接,sql,sql-server,tsql,Sql,Sql Server,Tsql,如何在SQL Server中添加5596+00003以获得559600003 我尝试了以下查询: select 5596 + '00003' 但它给出的是5599,我想显示559600003。SQL Server尝试在计算的第一部分的数据类型中返回结果,在您的情况下,这是一个数字。它可以愉快地将计算的第二部分转换为一个数字,因此可以这样做 要获得所需的结果,必须将计算的第一部分转换为字符串,例如 select convert(varchar, 5596) + '00003' 注意:conve

如何在SQL Server中添加5596+00003以获得559600003

我尝试了以下查询:

select 5596 + '00003'

但它给出的是5599,我想显示559600003。

SQL Server尝试在计算的第一部分的数据类型中返回结果,在您的情况下,这是一个数字。它可以愉快地将计算的第二部分转换为一个数字,因此可以这样做

要获得所需的结果,必须将计算的第一部分转换为字符串,例如

select convert(varchar, 5596) + '00003'
注意:
convert(varchar,x)
使用默认长度30,这对于大多数数字可能已经足够了


CONCAT()
,与其他答案一样,这可能是一个更好的解决方案。

您也可以使用
CONCAT()


CONCAT()
不需要任何显式转换

您可以使用
CAST

SELECT CAST(5596 AS varchar) + '00003'; -- return 559600003

我更喜欢这个解决方案。使用
cast
convert
有什么好处?首先(对我来说)cast-ini比convert更容易阅读,其次是符合ANSI-SQL标准。这意味着许多数据库都可以使用cast函数。但若你们有一个日期类型转换,它比CAST更灵活,包含更多的选项(请看),这些信息足够有用,可以放在你们的答案中。提供额外的清晰说明为什么你的答案是一个好答案总是好的。
SELECT CAST(5596 AS varchar) + '00003'; -- return 559600003