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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论