今天在做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