公司网站是怎么样的,要怎么网站做推广,自考本科官网,做外贸用什么网站本文主要介绍了sqlserver字符串拼接的实现#xff0c;文中通过示例代码介绍的非常详细#xff0c;对大家的学习或者工作具有一定的参考学习价值。 1. 概
在SQL语句中经常需要进行字符串拼接#xff0c;以sqlserver#xff0c;oracle#xff0c;mysql三种数据库为例#…本文主要介绍了sqlserver字符串拼接的实现文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值。 1. 概
在SQL语句中经常需要进行字符串拼接以sqlserveroraclemysql三种数据库为例因为这三种数据库具有代表性。
sqlserver 1 select 123456;
oracle 1 2 3 select 123||456 from dual; 或 select concat(123,456) from dual;
mysql 1 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 1 2 SELECT id place FROM Users WHERE id 1; //提示错误“在将 varchar 值 bzz 转换成数据类型 int 时失败” SELECT id place FROM Users WHERE id 5; //提示错误“在将 varchar 值 102.34 转换成数据类型 int 时失败” 1 SELECT id place FROM Users WHERE id 4;//返回int “105” 2.2 decimal varchar 1 SELECT *, id cost FROM Users WHERE id 4 OR id 5;//返回decimal “102.98”和“104.30” 1 SELECT *, place cost FROM Users WHERE id 1;//提示错误“从数据类型 varchar 转换为 numeric 时出错。”
由此可见系统会将字符串varchar类型转化为int若不能转换则提示错误转换成功则进行数字计算。 3. 数字 数字
数字指的是int、decimal等类型。数字 数字则进行数字相加若某字段为NULL则计算结果为NULL。 1 SELECT *, uage cost AS uage cost FROM Users 4.字符串 字符串
字符串 字符串则直接进行拼接。若某字段为NULL则计算结果为NULL。 1 SELECT *, uname place AS uname place FROM Users 5. 使用CAST和CONVERT函数进行类型转换
通过上述实例可以看出若要使用“”进行字符串拼接或数字计算最稳妥的方法是进行类型转换。
CAST()函数可以将某种数据类型的表达式转化为另一种数据类型CONVERT()函数也可以将制定的数据类型转换为另一种数据类型
要求将“678”转化为数值型数据并与123相加进行数学运算。 1 2 SELECT CAST(678 AS INT) 123; SELECT CONVERT(INT, 678) 123;
要求id列和place列进行字符串拼接。 1 SELECT *, CONVERT(varchar(10), id) place FROM Users;
字符串拼接后的字符串不能简单作为“筛选字段”
有时需要列A 变量1列B 变量2的筛选为了简化SQL语句 列A 列B 变量1 变量2。这种方法并不完全准确 1 SELECT * FROM Users WHERE uname place aabzz; 1 SELECT * FROM Users WHERE uname aa AND place bzz; 为了防止上述情况的发生可以再列A和列B之间加上一个较特殊的字符串。 1 SELECT * FROM Users WHERE uname rain%$man place aa rain%$man bzz
到此这篇关于sqlserver字符串拼接的实现的文章就介绍到这了。