declare @info varchar(100),@age int,@name varchar(10),@addr varchar(50)
select convert(char(10),@age)
set @age=20
select @name='张三',@addr='安徽省合肥市'
select @info=@age+@name+@addr
select @info as 结果
语法没有错,但是运行是显示
(所影响的行数为 1 行)服务器: 消息 245,级别 16,状态 1,行 5
将 varchar 值 '张三' 转换为数据类型为 int 的列时发生语法错误。
declare @info varchar(100),@age int,@name varchar(10),@addr varchar(50)
select convert(char(10),@age)
set @age=20
select @name='张三',@addr='安徽省合肥市'
select @info=CONVERT(VARCHAR,@age)+@name+@addr
select @info as 结果
INT+char的時候,SQL會把char轉化成int型
set @age=20
select @name='张三',@addr='安徽省合肥市'
select @info=CONVERT(CHAR(10),@age)+@name+@addr
select @info as 结果
select convert(char(10),@age)
set @age=20
select @name='张三',@addr='安徽省合肥市'
select @info=quotename(@age,'''')+@name+@addr
select @info as 结果