
以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性。
sqlserver:
select '123'+'456';
oracle:
select '123'||'456' from dual;
或
select concat('123','456') from dual;
mysql:
select concat('123','456');
注意:oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串。
在mysql中有group_concat()函数可以做到:
select age,group_concat(userName) from table group by age;
执行的结果些微差别:
1 name1,name2,name3
2 name4,name5
就是有逗号分割,如果非要去掉逗号,可以使用replace(group_concat(userName),',','');
SELECT bid ,
STUFF(( SELECT ',' + LTRIM(RTRIM(Name))
FROM [表] a
WHERE aid = bid
FOR
XML PATH('')
), 1, 1, '') AS 'Name' ,
STUFF(( SELECT ',' + LTRIM(RTRIM(Age))
FROM [表] a
WHERE aid = bid
FOR
XML PATH('')
), 1, 1, '') AS 'Age'
FROM dbo[表] b
GROUP BY id
方法一:
sql中的连接符用“||”;
举例1:select 'zhang'||' san' from dual ;结果就是 “zhang san”;
举例2:select name || '的年龄是'|| age from tablename;结果就是“zhangsna的年龄是11”。
方法二:
mysql, oracle db2
select field1 || field2 from tab
sql server:
select field1 + field2 from tab
SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言,尽管SQL的功能很强,但语言十分简洁,核心功能只用了9个动词。
扩展资料:
SqlServer函数
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_expr个空格
replicate(char_expr,int_expr)复制字符串int_expr次
reverse(char_expr) 反转字符串
stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从start开始的length个字符用char_expr2代替
参考资料来源:百度百科-连接符
参考资料来源:百度百科-结构化查询语言
以上就是关于sql server如何在拼接字符串中使用运算符(+-*/)全部的内容,包括:sql server如何在拼接字符串中使用运算符(+-*/)、Sql语句如何将多行数据组成一个字符串 --------------------、SQL中如何拼接查询出来表的数据啊如图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)