[SQL ] ORACLE 連接字串

看板Database (資料庫)作者 (AP1與TOG你們在哪)時間18年前 (2006/07/21 09:35), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
假設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
文章代碼(AID): #14m2z86_ (Database)
文章代碼(AID): #14m2z86_ (Database)