在不指定长度的情况下将int值分配给varchar变量将返回*为什么?

时间:2018-09-26 09:48:12

标签: sql-server

DECLARE @ID VARCHAR
PRINT @ID
SELECT @ID=CAST(10 AS VARCHAR)
PRINT @ID
SELECT @ID

返回*

为什么?

1 个答案:

答案 0 :(得分:0)

在varchar(n / max)中,当在数据定义或变量声明语句中未指定n时,默认长度为1。这就是为什么返回*(仅单个值)的原因。