測試TOM=SQLLDR使用CASE語句
應用場景:當一個列中的格式有多種,如時間,有些值是一種格式,有些值是另一種格式,如何分別對它們處理,就可以用CASE.
測試
會話1:修改控制檔案
[oracle@oraclelinux ~]$ cat dept_load13.ctl
LOAD DATA
INFILE *
INTO TABLE DEPT_LOAD
REPLACE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(DEPTNO,
DNAME "upper(:dname)",
LOC "upper(:loc)",
LAST_UPDATED
"case
when length(:last_updated) > 9
then to_date(:last_updated,'hh24:mi:ss dd/mm/yyyy')
when instr(:last_updated,':') > 0
then to_date(:last_updated,'hh24:mi:ss')
else to_date(:last_updated,'dd/mm/yyyy')
end"
)---分情況對時間列不同格式進行轉換,這裡CASE前後的是雙引號
BEGINDATA
10,Sales,Virginia,12:03:03 17/10/2005--時間列格式1
20,Accounting,Virginia,02:23:54--時間列格式2
30,Consulting,Virginia,01:24:00 21/10/2005
40,Finance,Virginia,17/8/2005--時間列格式3
[oracle@oraclelinux ~]$
會話1:載入資料
[oracle@oraclelinux ~]$ sqlldr userid=scott/scott control=dept_load13.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Mon May 14 14:10:36 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 4
SQL> alter session set nls_date_format='dd-mon-yyyy hh24:mi:ss';
Session altered.
SQL> select deptno,dname,loc,last_updated from dept_load;
DEPTNO DNAME LOC LAST_UPDATED
---------- -------------- ------------- --------------------
10 SALES VIRGINIA 17-oct-2005 12:03:03
20 ACCOUNTING VIRGINIA 01-may-2012 02:23:54
30 CONSULTING VIRGINIA 21-oct-2005 01:24:00
40 FINANCE VIRGINIA 17-aug-2005 00:00:00
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15720542/viewspace-723507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- case when 語句
- Oracle sqlldr工具功能測試OracleSQL
- js 學習之路7:switch/case語句的使用JS
- JAVA基礎--Switch case語句Java
- java中的switch case語句Java
- 條件判斷語句 if case
- printf格式控制、switch-case語句
- 開心檔之Java switch case 語句Java
- Linux下邏輯測試語句引數和流程控制語句 if語句Linux
- MySQL條件判斷IF,CASE,IFNULL語句詳解MySqlNull
- SQL語句case when外用sum與count的區別SQL
- 03 shell程式設計之case語句與函式程式設計函式
- eslint 效驗 switch case語句縮排警告提示處理EsLint
- 使用 locust 對 mysql 語句進行壓測MySql
- sql學習:終於把sql case語句使用講明白了,一看就懂SQL
- 06_SHELL程式設計之CASE語句+函式+正則程式設計函式
- es的複雜查詢測試,使用jest的dsl工具寫查詢語句
- 『忘了再學』Shell流程控制 — 35、多分支case條件語句
- TPCH模型規範、測試說明及22條語句模型
- 測試平臺系列(83) 前置條件支援Redis語句Redis
- 使用withopen語句(未完)
- c語言中,while(1)語句使用break語句跳出迴圈C語言While
- java學習基礎篇筆記4-----switch-case語句+Scanner類Java筆記
- SQL語句寫到累了?試試GreenDAOSQL
- 效能測試常用Oracle語句,這10個果斷收藏了!Oracle
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- 測試平臺系列(97) 完善執行case部分
- 【測試平臺開發】Vue雙向資料繫結、分支語句與遍歷語句學習教程Vue
- 5、控制語句的使用
- 判斷語句的使用
- flask之控制語句 if 語句與for語句Flask
- 軟體測試培訓之:白盒測試的語句覆蓋法和判定覆蓋法
- Python 迴圈語句的使用Python
- 教你使用SQLite-insert語句SQLite
- php中return語句的使用PHP
- python的with語句怎麼使用Python
- MySQL中explain語句的使用MySqlAI
- [20190320]測試相同語句遇到導致cursor pin S的情況.txt
- [20190321]測試相同語句遇到導致cursor pin S的疑問.txt