oracle中字符串连接符||使用

oracle字符串连接符||

1、oracle和mysql都遵循sql99标准(ANSI制定的,在1999年)

  • oracle中 select 后面必须要有from关键字
  • 在mysql中select concat(‘hello’,’ world’);正确,但是在oracle中错误
  • hadoop中hive(蜂巢)数据库支持sql92标准

2、dual:伪表

select concat('hello',' world') from emp;这语句,emp中有几条记录,hello world就输出几次
select concat('hello',' wordl') from dual;这句就只输出一次

3、字符串连接符:||

select 'hello'||' world' 字符串 from dual;
select ename||'的薪水是'||sal 信息 from emp;

4、字符串

  • 单引号表示日期或字符串
  • 双引号表示别名

oracle字符拼接(||、concat)

准备数据

创建GradesTable 表

CREATE TABLE GradesTable (Name VARCHAR2(6), Languages VARCHAR2(6),Mathematics VARCHAR2(6), English VARCHAR2(6) );
insert into GradesTable (Name,Languages,Mathematics,English) values('李明','88','67','98');
insert into GradesTable (Name,Languages,Mathematics,English) values('阿珂','88','67','98');
insert into GradesTable (Name,Languages,Mathematics,English) values('唐三','88','67','98');

1、||

可以无限拼接,类似于拼接字符串时候的 +,可以拼接字符串或表字段。

 select name||'-'||languages from GradesTable where name='李明';
 执行结果:李明-88

2、concat

oracle中的函数,CONCAT(char1 , char2),也可以拼接字符串或表字段。

select concat(name,languages) from GradesTable where name='李明';
执行结果:李明88

需要注意:

  • 在Oracle中,CONCAT函数将只允许将两个值连在一起。
  • 如果需要连接多个值,需要嵌套多个CONCAT函数。

如下:

select concat(concat(Name,'-'),Languages) from GradesTable where name='李明';
执行结果:李明-88

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源链接:https://www.jb51.net/database/323645n62.htm

© 版权声明
THE END
支持一下吧
点赞10 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容