Oracle中字符串连接的实现方法
程序员文章站
2023-08-16 13:24:49
和其他数据库系统类似,oracle字符串连接使用“||”进行字符串拼接,其使用方式和mssqlserver中的加号“+”一样。 比如执行下面的sql语句: 复制代码 代码如...
和其他数据库系统类似,oracle字符串连接使用“||”进行字符串拼接,其使用方式和mssqlserver中的加号“+”一样。
比如执行下面的sql语句:
select '工号为'||fnumber||'的员工姓名为'||fname from t_employee
where fname is not null
除了“||”,oracle还支持使用concat()函数进行字符串拼接,比如执行下面的sql语句:
select concat('工号:',fnumber) from t_employee
如果concat中连接的值不是字符串,oracle会尝试将其转换为字符串,比如执行下面的sql语句:
select concat('年龄:',fage) from t_employee
与mysql的concat()函数不同,oracle的concat()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的sql语句在oracle中是错误的:
select concat('工号为',fnumber,'的员工姓名为',fname) from t_employee
where fname is not null
运行以后oracle会报出下面的错误信息:
参数个数无效
如果要进行多个字符串的拼接的话,可以使用多个concat()函数嵌套使用,上面的sql可以如下改写:
select concat(concat(concat('工号为',fnumber),'的员工姓名为'),fname) from
t_employee
where fname is not null
比如执行下面的sql语句:
复制代码 代码如下:
select '工号为'||fnumber||'的员工姓名为'||fname from t_employee
where fname is not null
除了“||”,oracle还支持使用concat()函数进行字符串拼接,比如执行下面的sql语句:
select concat('工号:',fnumber) from t_employee
如果concat中连接的值不是字符串,oracle会尝试将其转换为字符串,比如执行下面的sql语句:
select concat('年龄:',fage) from t_employee
与mysql的concat()函数不同,oracle的concat()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的sql语句在oracle中是错误的:
select concat('工号为',fnumber,'的员工姓名为',fname) from t_employee
where fname is not null
运行以后oracle会报出下面的错误信息:
参数个数无效
如果要进行多个字符串的拼接的话,可以使用多个concat()函数嵌套使用,上面的sql可以如下改写:
复制代码 代码如下:
select concat(concat(concat('工号为',fnumber),'的员工姓名为'),fname) from
t_employee
where fname is not null