DB2 字符串拼接 在字段前加0操作 0||‘字段名称’

Posted 办公室的仙人掌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2 字符串拼接 在字段前加0操作 0||‘字段名称’相关的知识,希望对你有一定的参考价值。

 

 摘自 http://blog.csdn.net/milife2013/article/details/8660205

DB2字符串连接和oracle数据库相同,使用“||”进行DB2字符串连接,其使用方式和MSSQLServer中的加号“+”一样。比如执行下面的SQL语句:
SELECT ‘工号为‘||FNumber||‘的员工姓名为‘||FName FROM T_Employee
WHERE FName IS NOT NULL

除了“||”,DB2还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:
SELECT CONCAT(‘工号:‘,FNumber) FROM T_Employee

与Oracle不同,如果CONCAT中连接的值不是字符串,则DB2不会尝试进行类型转换而是报出错误信息,比如执行下面的SQL语句是错误的:
SELECT CONCAT(‘年龄:‘,FAge) FROM T_Employee

运行以后DB2会报出下面的错误信息:
未找到类型为"FUNCTION" 命名为 "CONCAT" 且具有兼容自变量的已授权例

mysql的CONCAT()函数不同,DB2的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的SQL语句在Oracle中是错误的:
SELECT CONCAT(‘工号为‘,FNumber,‘的员工姓名为‘,FName) FROM T_Employee
WHERE FName IS NOT NULL
运行以后Oracle会报出下面的错误信息:
未找到类型为"FUNCTION" 命名为 "CONCAT" 且具有兼容自变量的已授权例程

如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用,上面的SQL可以如下改写:
SELECT CONCAT(CONCAT(CONCAT(‘工号为‘,FNumber),‘的员工姓名为‘),FName) FROM
T_Employee
WHERE FName IS NOT NULL












以上是关于DB2 字符串拼接 在字段前加0操作 0||‘字段名称’的主要内容,如果未能解决你的问题,请参考以下文章

Python基础-----字符串格式化

2词法分析--4字面值--2字符串拼接

DB2的JDBC连接字符串有数据库字符集编码的配置参数吗

SQL中怎样提取纯数字或者纯字母的字段??

SAP abap 怎么拆分字符串

sql查询语句怎么拼接字符串