sqlserver字符串拼接_sqlserver拼接字符串函数-程序员宅基地

技术标签: sqlserver  数据库  sql  

SQL中字符串拼接

1. 概述

在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性。

sqlserver:

select '123'+'456';

oracle:

select '123'||'456' from dual;
或
select concat('123','456') from dual;

mysql:

select concat('123','456');

注意:SQL Server中没有concat函数(SQL Server 2012已新增concat函数)。oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串。

在SQL Server中的“+”号除了能够进行字符串拼接外,还可以进行数字运算,在进行字符串拼接时要小心使用。下面以“Users”表为例,进行详细分析:

2. 数字 + 字符串

2.1 int + varchar

SELECT id + place FROM Users WHERE id = 1;  //提示错误“在将 varchar 值 'bzz' 转换成数据类型 int 时失败”
SELECT id + place FROM Users WHERE id = 5;  //提示错误“在将 varchar 值 '102.34' 转换成数据类型 int 时失败”
SELECT id + place FROM Users WHERE id = 4;	//返回int “105”

2.2 decimal + varchar

SELECT *, id + cost  FROM Users WHERE id = 4 OR id = 5;	//返回decimal “102.98”和“104.30”
SELECT *, place + cost FROM Users WHERE id = 1;	//提示错误“从数据类型 varchar 转换为 numeric 时出错。”

由此可见,系统会将字符串varchar类型转化为int,若不能转换则提示错误,转换成功则进行数字计算。

3. 数字 + 数字

数字指的是int、decimal等类型。数字 +  数字,则进行数字相加,若某字段为NULL,则计算结果为NULL。

SELECT *,  uage + cost AS 'uage + cost'  FROM Users

4.字符串 + 字符串

字符串 + 字符串,则直接进行拼接。若某字段为NULL,则计算结果为NULL。

SELECT *, uname + place AS 'uname + place' FROM Users 

5. 使用CAST和CONVERT函数进行类型转换

通过上述实例,可以看出若要使用“+”进行字符串拼接或数字计算,最稳妥的方法是进行类型转换。

  • CAST()函数可以将某种数据类型的表达式转化为另一种数据类型
  • CONVERT()函数也可以将制定的数据类型转换为另一种数据类型

要求:将“678”转化为数值型数据,并与123相加进行数学运算。

SELECT CAST('678' AS INT) + 123;
SELECT CONVERT(INT, '678') + 123;

要求:id列和place列进行字符串拼接。

SELECT *, CONVERT(varchar(10), id) + place FROM Users;

字符串拼接后的字符串不能简单作为“筛选字段”

有时,需要列A = 变量1,列B = 变量2的筛选,为了简化SQL语句 列A + 列B = 变量1 + 变量2。这种方法并不完全准确

SELECT * FROM Users WHERE uname + place = 'aabzz';

SELECT * FROM Users WHERE uname = 'aa' AND place = 'bzz';

为了防止上述情况的发生,可以再列A和列B之间加上一个较特殊的字符串。

SELECT * FROM Users WHERE uname + 'rain@&%$man' + place = 'aa' + 'rain@&%$man' + 'bzz'
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/theminer/article/details/122495680

智能推荐

Unity Shader 剔除黑色背景_去黑底shader-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏8次。经测可以实现效果,但是会有黑边,剔除的不干净Shader "Esfog/FilterBlack" {Properties {_MainTex ("Base (RGB)", 2D) = "white" {}}SubShader {Tags { "RenderType"="Opaque" }//LOD 200Cull OffZWrite OffBlend SrcAlpha On_去黑底shader

Spring2.5那些事之 AOP-程序员宅基地

文章浏览阅读183次。在日常开发中经常需要在代码中加入一些记录用户操作日志的log语句,比如谁在什么时间做了什么操作,等等。把这些对于开发人员开说无关痛痒的代码写死在业务方法中实在不是一件很舒服的事情,于是AOP应运而生。Spring对AOP的支持有以下4种情况:1.基于代理的AOP2.@Aspectj3.纯POJO4.注入式Aspectj切面前三种都是基于方法级的,最后一个可以精确到属性及构造器。关于Spring对AOP

非关系型数据库--------------------Redis 群集模式-程序员宅基地

文章浏览阅读1k次,点赞9次,收藏29次。例如,如果单机内存太大,bgsave和bgrewriteaof的fork操作可能导致主进程阻塞,主从环境下主机切换时可能导致从节点长时间无法提供服务,全量复制阶段主节点的复制缓冲区可能溢出。为每个节点添加一个从节点A1、B1、C1整个集群便有三个Master节点和三个slave节点组成,在节点B失败后,集群选举B1位为的主节点继续服务。每个Key通过CRC16校验后对16384取余来决定放置哪个哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。

2023华为杯研究生数学建模C题分析_2023研究生数学建模c题-程序员宅基地

文章浏览阅读9k次,点赞7次,收藏44次。2023华为杯研赛数学建模C题_2023研究生数学建模c题

论文:Fully-Convolutional Siamese Networks for Object Tracking(SiamFC)_fully-convolutional siamesenetworks for object tra-程序员宅基地

文章浏览阅读422次。过两天再写1、项目原址:http://www.robots.ox.ac.uk/~luca/siamese-fc.html2、代码:https://github.com/bertinetto/siamese-fc3、https://blog.csdn.net/autocyz/article/details/53216786_fully-convolutional siamesenetworks for object tracking.

RK3568 android11 调试光感模块_iio_read_channel_processed-程序员宅基地

文章浏览阅读735次,点赞2次,收藏6次。光感模块是一种用于检测光照强度的传感器。光感模块的工作原理基于光电效应,可以通过模拟电压输出或数字接口输出(例如I2C或SPI)来提供光照强度的信息。它们广泛应用于自动照明系统、环境监测、光线调节和光敏控制等领域。调试光感模块(三个角分别接供电VCC、地GND、ADC),遇亮则亮或者遇亮则暗。_iio_read_channel_processed

随便推点

高校在线教育系统_老师曝出K12在线教育领域内幕,在线教育真这么火吗?_site:csdn.net 在线教育系统-程序员宅基地

文章浏览阅读367次,点赞6次,收藏10次。以上这三点,就是知情人士爆出的“K12在线教育领域内幕”,从这些内幕中可以看出,有些K12在线教育平台走上了“歪路”,这或许是行业竞争的关系。我们看着如此火爆的在线教育,说不定和我们想的不一样。在线教育机构最大的人员组成是技术和研发,其次是为技术服务的人员,还有少量运营人员,少部分机构的研发团队有不足1/3的一线教育工作者,有的机构甚至没有教育从业人员。“其实一半多都没有非常客观的站在家长、站在老师的角度看待问题,真正的老师和家长需要什么样的平台、什么样的工具,咱们有多少在线教育机构真正做过调查的。_site:csdn.net 在线教育系统

java媒体播放器_java swing有视频播放组件吗-程序员宅基地

文章浏览阅读2.5k次,点赞4次,收藏42次。山东大学软件学院面向对象设计技术课程的实验之一。(说起来这些实验感觉没有什么太难的地方,基本没有什么实用性。)。(还有一个感受,重修太痛苦,别人两个人写一个,我要一个人写两个。好像我也算不上重修)模拟实现一个多功能媒体播放器,它能播放音频(如mp3歌曲)、视频(选作,不属于基本要求)。媒体播放器界面,有进度条,可展示总播放时间、当前播放时间,进度条可拖动,有播放、暂停键,有快进、快退键。文章目录0 效果1 解耦2 界面2.1 界面组织结构2.2 重写进度条UI2.3 面板切换3 音乐功能3.1 音乐._java swing有视频播放组件吗

Objective C语言----类,对象,方法总结_c语言调用类的对象语句-程序员宅基地

文章浏览阅读354次。Objective C语言--------------类,对象,方法总结 注:以下所总结的知识点内容需要举例说明的,均以第3题的学生类为示例说明. 1.类和对象的概念?并举出具体的实例. 类:类就是一系列属性与方法的集合(是具体事物的抽象). 对象:对象就是该类事物实实在在存在的个体.OC中利用类来创建对象,对象是类的具体存在, 因此,面向对象解_c语言调用类的对象语句

瑞芯微电子RV1126芯片环境搭建&SSD模型转换指南_瑞芯微 windows系统编译模型-程序员宅基地

文章浏览阅读1k次,点赞25次,收藏23次。回到SSD-mobilenet_tf的训练代码,在ssd_meta_arch.py中添加如下代码,在research目录下执行python setup.py install,运行model_main.py(即训练,训练时有生成),即可生成保存prior_boxes的文件box_priors.txt。在索书号场景下,有1917个prior_box。故翻了翻陈年的笔记,找到当年使用瑞芯微电子出的一款芯片RV1126的使用笔记,当时拿到的是一款基于RV1126的IP摄像头,在此整理记录下。OK,让我们开始吧。_瑞芯微 windows系统编译模型

【AUTOSAR】--02 AUTOSAR网络管理相关参数_immediate nm transmissions-程序员宅基地

文章浏览阅读1.1k次,点赞13次,收藏29次。这是AUTOSAR网络管理梳理的第二篇文章,主要讲解AUTOSAR网络管理的相关参数。分三部分进行讲解:第一部分:比较常用,且关乎到AUTOSAR网络管理各个状态的流转。第二部分:如Coordinator相关功能。第三部分:...._immediate nm transmissions

apache 模式、优化、功能 与 nginx优化、应用-程序员宅基地

文章浏览阅读891次,点赞6次,收藏7次。A程序需要调用B程序的某一个功能,A发送一个请求需要B完成一个任务同步:B不会主动去通知A是否完成需要A自己去问异步:B会主动通知A是否完成。

推荐文章

热门文章

相关标签