sql server 数值类型运算(SQL SERVER2012中新增函数之字符串函数CONCAT详解)
类别:数据库 浏览量:1001
时间:2022-01-15 01:56:37 sql server 数值类型运算
SQL SERVER2012中新增函数之字符串函数CONCAT详解介绍
SQLSERVER 2012新增了两个字符串函数CONCAT和FORMAT。本文首先介绍一下CONCAT,CONCAT函数的作用是可以返回多个字符串拼接后的结果。
CONCAT 函数最多可以连接255个字符变量,当调用这个函数的时候需要至少接收两个参数,参数类型不一定是字符串类型,也可以是可以隐式转换为字符串的类型比如int ,float等类型。只要符合sql 2012的能隐式转换为字符串的规则即可,当我们想把两个值类型的数据连接起来的时候,不需要先将它们转为nvarchar然后再通过“+”来连接了
简单示例:
select CONCAT('a','b') as R1 /* R1 ---- ab */ select 'a'+'b' as R2 /* R2 ---- ab */
如此看来这个函数似乎使SQL语句变得更长了,这个函数到底有什么优点呢?
下面我举个实例说明一下(数据就从百度随便搜了个排行榜)
if object_id('tb') is not null drop table tb create table tb([Rank] int,[Name] varchar(10),[SearchTime] int,[Remarks] varchar(10)) insert tb select 1,'完美世界',118251,'我没看过' unionall select 2,'莽荒纪',104532,'我没看过' unionall select 3,'大主宰',93453,'我没看过' unionall select 4,'绝世唐门',63333,'我没看过' unionall select 5,'最强弃少',38198,'我没看过' unionall select 6,'傲世九重天',31137,'我没看过' unionall select 7,'唐砖',29166,'我没看过' unionall select 8,'武极天下',26435,'我也没看过' unionall select 9,'魔天记',25227,'我都没看过' unionall select 10,'剑道独尊',25097,null
针对以上数据,例如我们要得到如下结果:
第1名:完美世界 搜索指数:118251 备注:我没看过
也许我们会这样写:
select '第'+ltrim([Rank])+'名:'+[Name]+' 搜索指数:'+ltrim([SearchTime])+' 备注:'+isnull([Remarks],'') as R3 from tb
/* R3 -------------------------------------------------------------------- 第1名:完美世界搜索指数:118251 备注:我没看过 第2名:莽荒纪搜索指数:104532 备注:我没看过 第3名:大主宰搜索指数:93453 备注:我没看过 第4名:绝世唐门搜索指数:63333 备注:我没看过 第5名:最强弃少搜索指数:38198 备注:我没看过 第6名:傲世九重天搜索指数:31137 备注:我没看过 第7名:唐砖搜索指数:29166 备注:我没看过 第8名:武极天下搜索指数:26435 备注:我也没看过 第9名:魔天记搜索指数:25227 备注:我都没看过 第10名:剑道独尊搜索指数:25097 备注: */
有了CONCAT以后,我们可以这样:
select concat('第',[Rank],'名:',[Name],' 搜索指数:',[SearchTime],' 备注:',[Remarks]) as R4 from tb /* R4 --------------------------------------------------------------------- 第1名:完美世界 搜索指数:118251 备注:我没看过 第2名:莽荒纪 搜索指数:104532 备注:我没看过 第3名:大主宰 搜索指数:93453 备注:我没看过 第4名:绝世唐门 搜索指数:63333 备注:我没看过 第5名:最强弃少 搜索指数:38198 备注:我没看过 第6名:傲世九重天 搜索指数:31137 备注:我没看过 第7名:唐砖 搜索指数:29166 备注:我没看过 第8名:武极天下 搜索指数:26435 备注:我也没看过 第9名:魔天记 搜索指数:25227 备注:我都没看过 第10名:剑道独尊 搜索指数:25097 备注: */
从上面的实例中我们可以看到CONCAT的两个优点:
1.当数据类型不一致的时候可以自动转换;
2.对于null的处理,不用isnull也可以避免因拼接而导致结果为null的情况。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对开心学习网的支持。
您可能感兴趣
- sqlserver查询自定义时间数据(SQLServer查询某个时间段购买过商品的所有用户)
- sqlserver数据库文件包括(详解SQL Server数据库状态和文件状态)
- sql server2005如何配置(SQLServer2005创建定时作业任务)
- 在sqlserver中如何看表格的类型(SQL Server 中的数据类型隐式转换问题)
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因(SQLServer数据库中开启CDC导致事务日志空间被占满的原因)
- sqlserver数据类型和长度(SqlServer 数据库 三大 范式)
- sqlserver2008手动备份方法(MSSQL 2008 自动备份数据库的设置方法)
- sqlserver字段说明(详解SQL Server 中 JSON_MODIFY 的使用)
- sqlserver拒绝访问怎么办(SQL server服务显示远程过程调用失败的解决方法)
- sqlserver常用函数(SQLServer 日期函数大全小结)
- sqlserver中有几种锁定模式(SQL Server 开窗函数 Over代替游标的使用详解)
- sqlserver常用流控语句(SQL Server实现自动循环归档分区数据脚本详解)
- sqlservercount函数怎么用(Sql Server中Substring函数的用法实例解析)
- sqlserver语句中的temp(SQL SERVER中强制类型转换cast和convert的区别详解)
- docker启动sqlserver(用docker运行postgreSQL的方法步骤)
- SqlServer 按时间段查询问题(SqlServer 按时间段查询问题)
- 靳东新剧《精英律师》定档,众星云集,这剧可追(靳东新剧精英律师定档)
- 精英律师 廖佳敏封印恋情曝光,顾婕马失前蹄 你个老不死的(廖佳敏封印恋情曝光)
- 以家人之名广受好评,剧情生动引起观众共鸣,演员张新成圈粉无数(以家人之名广受好评)
- 三兄妹感情再遇波折,人设接连崩塌 《以家人之名》剧情猜不透(三兄妹感情再遇波折)
- 《小敏家》金波想要复婚 这只是他圈套的第1步,更可恶的在后面(小敏家金波想要复婚)
- 小敏家 剧情离谱一锅乱炖,但他们俩绝对是这部剧的一大 亮点(剧情离谱一锅乱炖)
热门推荐
- axios如何跨域请求(axios取消请求与避免重复请求)
- python语法规则讲解(计算机二级python学习教程2 python语言基本语法元素)
- docker 镜像mysql(解决docker拉取mysql镜像太慢的情况)
- js防抖用法(JavaScript的防抖和节流案例)
- vue改数组和对象值(vue $set 实现给数组集合对象赋值)
- Sql Server事件探查器的作用
- 云服务器和虚拟空间有什么区别(云服务器、虚拟机是一样的吗?有什么不同?)
- python语句三元运算符(Python中三元表达式的几种写法介绍)
- python与气象(使用Python和Prometheus跟踪天气的使用方法)
- 挂游戏用云服务器好不好?(挂游戏用云服务器好不好?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9