sql select语句,查询出两列结果拼接在一起
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql select语句,查询出两列结果拼接在一起相关的知识,希望对你有一定的参考价值。
oracle数据库。emp表,想显示的结果为: [ename]'s job is [job]
ename 和job是两列, 's job is 是拼接在两个值中间的字符串,select语句怎么写?
OCA的题中有一种写法,但是测试总是报错:
SELECT promo_name q''s start date was ' promo_begin_date AS "Promotion Launches" FROM promotions;
ERROR at line 1:
ORA-00923: from keyword not found where expected
1、Oracle创建表,含两列,name和job;create table test_job(name varchar2(30), job varchar2(30));
2、插入样例数据;
insert into test_job(name, job) values('ste','teacher');
insert into test_job(name, job) values('jack','driver');
insert into test_job(name, job) values('mick','cooker');
insert into test_job(name, job) values('jacy','driver');
insert into test_job(name, job) values('lucy','boxer');
insert into test_job(name, job) values('john','iter');
3、执行查询语句,数据已插入;select * from TEST_JOB t
4、编辑语句,拼接所需sql;select name||'''s job is '|| job from TEST_JOB t;
参考技术A 可以使用:concat 连接 或者 ||
例子:
表
年份 月份 数据1 数据2
2000 1 1 1
2000 2 2 1
2001 2 2 2
2001 5 5 4
希望的查询结果如下所示:
时间 数据1 数据2
2000年1月 1 1
2000年2月 2 1
2001年2月 2 2
2001年5月 5 4
select 年份||'年'||月份||'月' 时间,数据1,数据2
from tb
或者
select concat(concat(年份,'年'),concat(月份,'月')) 时间,数据1,数据2
from tb 参考技术B SELECT
promo_name || '''s start date was ' || to_char(promo_begin_date,'yyyy-mm-dd') AS "Promotion Launches"
FROM promotions;
--'s里的'要两个用来转义 参考技术C 如果只是要查询的列拼接可以用逻辑或
select id, ename || '''s job is ' || job from emp;追问
成功了,但是请问|| '''s 为什么用了三个单引号? 还有我问题中的那种写法有名字么?叫什么?为什么执行失败?
追答plsql中的字符串是用单引号来标识的,字符串中的单引号需要多加一个来转义;
你问题中的写法我还没尝试过,有时间研究再回复。
sql语句查询结果如何大写?结果如何拼接啊?
a表列为:sno ,cno,sname。b表:cno cname core,要求查询不及格同学的姓名(sname)如jim(要求名字必须大写),和学号课程号,(要拼接)例如sno 为23.cno为02.结果为:
JIM 23-02.
select upper(a.sname) 姓名,a.sno 学号,b.cno 课程号,a.sno +'-'+b.cno 学号课程号
from a join b on a.cno=b.cno
where b.core<60追问
小写用的是lower吗
追答是的
参考技术A SELECT upper(a.sname) 姓名,a.sno +'-'+b.cno 学号课程号FROM a,b where b.core<60 and a.cno=b.cno追问
小写用的是lower吗
追答当然是呀....
参考技术B select upper(sname),(a.sno +'-'+a.con) from a,b where a.con=b.con and b.core<60追问小写用的是lower吗
追答是的
以上是关于sql select语句,查询出两列结果拼接在一起的主要内容,如果未能解决你的问题,请参考以下文章
SQL server 两个查询结果拼接成一个,语句改怎样修改?