[SQL ] ORACLE 連接字串
假設table01 中有 以下資料
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
而我們要得到以下的OUTPUT (或是各種其他的output)
0001,TOM
0002,JOHN
0003,MARY
應該怎麼做呢?
答案是 善用 Concatenation Operator ||
而上述的問題
只要這麼下SQL 就可得解
SELECT EMP_NO||','||EMP_NAME
FROM TABLE01
連接符號間的字串以單引號括住
而字串中以 兩個' 代表 ' , 也就是 ' '' ' 會OUTPUT成 '
所以可以變化出各種我們要的結果
1.
SELECT ''''||EMP_NO||''','||EMP_NAME
FROM TABLE01
得到
'0001',JOHN
'0002',TOM
'0003',MARY
2. 串出INSERT SCRIPT
SELECT 'INSERT INTO TABLE02 VALUES ('''||
EMP_NO||''','''||EMP_NAME||''');'
FROM TABLE01
可得
INSERT INTO TABLE02 VALUES ('0001','JOHN');
INSERT INTO TABLE02 VALUES ('0002','TOM');
INSERT INTO TABLE02 VALUES ('0003','MARY');
所以
在 sqlplus 之下, 我們便可以很輕鬆地得到想要的結果
如果搭配 spool 與 spool off 也可以很簡單做出 csv檔
配合 shell script,cron等等,
各種變化相信大家的創造力一定可以想得出來
當然嚕 有人會說
"SQL*NAVIGATOR 之類的3rd party tools按兩下就可以做出來了啊"
囧~
啊 對不起 小弟是老人 還是習慣自己手工打造 呵呵
有時候還是只有 sqlplus 這個工具可用
大家參考一下摟
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.145.230.2
→
07/21 10:41, , 1F
07/21 10:41, 1F
推
07/27 16:31, , 2F
07/27 16:31, 2F
Database 近期熱門文章
PTT數位生活區 即時熱門文章