Oracle数据字段拼合
今天在做Peoplesoft开发的一个页面中,遇到了数据字段拼合的问题,尝试了从后台写People code拼接的方式,后来感觉直接在视图中用SQL进行格式转换字段拼接更方便:
拼接有两种方式:
1. Oracle中使用双竖杠"||"进行字符串拼接:
eg:select (to_char(time1,'FMyyyy-mm-dd') || '至'||to_char(time2,'FMyyyy-mm-dd')) as time FROM PS_time;
2. 除了"||", Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:
eg:SELECT CONCAT('工号: ' , FNumber) FROM T_Employee
与MySQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上的字符串的拼接
如果要进行多个字符串的拼接的话,可以将多个CONCAT()函数嵌套使用,上面的SQL可以改写如下:
SELECT
CONCAT(CONCAT(CONCAT('工号为', FNumber), '的员工姓名为'), FName) FROM T_Employee WHERE
FName IS NOT NULL