SQL语句表的字段组合问题,请SQL高手帮我解答

来源:百度知道 编辑:UC知道 时间:2024/05/05 06:37:04
select Did + ':' + Dage from 人员表1
服务器: 消息 245,级别 16,状态 1,行 1
将 varchar 值 ':' 转换为数据类型为 int 的列时发生语法错误。

select Dname+':'+Dage from 人员表1
服务器: 消息 245,级别 16,状态 1,行 1
将 varchar 值 '张经理:' 转换为数据类型为 int 的列时发生语法错误。

请问我写的语句有什么问题吗??
请问正确的写法是什么???
我想组合两个字段??
我刚刚试试了下这个:
select Did || ':' || Dage from 人员表1
但是 不好用啊~
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '|' 附近有语法错误。

select Did ||+':'+|| Dage from 人员表1
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '|' 附近有语法错误。

请问应该怎么办啊?

看错误提示应该是SQL SERVER
所以楼上的ORACLE的用法就不适用了。

当字符串与数字相加时,SQL SERVER会试图将字符串转换为数字,如果转换不了,那么就会报错。
所以需要把int类型的列显式的转换为字符串

select cast(Did as varchar(50))+':'+cast(Dage as varchar(50))
from 人员表1

select Did || ':' || Dage from 人员表1

sql把字段并在一起用 || +号就是计算的+号