轉換函數和其餘函數

轉換函數

 字符串、數值和日期三類數據之間是能夠實現轉換的。函數

No.spa

函數名code

含義ci

1開發

字符串 to_char(列 | 日期,格式)字符串

將日期或數字按格式轉爲字符串table

2date

日期 to_date(列 | 字符串,格式)select

將字符串按格式轉爲日期數據類型

3

數字 to_number(列 | 字符串)

將字符串轉爲數字

 

 

 

 

 

 

to_char()

1、日期變爲字符串,必須指定轉換的格式。

         日期:年yyyy月mm日dd

         時間:時hh hh24分mi秒ss

         數字:任意數字9,貨幣L

 

示例1:將日期顯示格式化。

select to_char(sysdate,'yyyy-mm-dd') from dual;

 

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

 

 

 

示例2:查詢全部在4月份僱傭的僱員。

select * from emp where to_char(hiredate,'mm')='04';

select * from emp where to_char(hiredate,'mm')=4; --自動轉型

 

 

 

示例3:將數字格式化顯示,使用貨幣格式化顯示。

select to_char('4758475847583','9,9999,9999,9999') from dual;

select to_char('4758475847583','L9,999,999,999,999') from dual;

 

 

 

2、將字符串變爲日期

 示例4:將指定字符串按照格式轉化爲日期

select to_date('2017-11-21','yyyy-mm-dd') from dual;

 

 

3、將字符串轉化爲數字。

 示例5:to_number()演示。

select to_number('12')+to_number('1') from dual;

select '12'+'1' from dual;

 

 

 

題目1:date char number之間常常進行轉換,請描述下列SQL語句。

select to_date('2017-07-14','yyyy-MM-dd') from dual;

select to_date('2017-07-14','yyyy-MM-dd') as one_day from dual;

 

select to_char(sysdate,'yyyy-MM-dd') as today from dual;

 

select to_timestamp('2017-07-14 20:42:32.11','yyyy-MM-dd hh24:mi:ss:ff') as one_day from dual;

 

select to_char(systimestamp,'yyyy-MM-dd hh24:mi:ss:ff') as today from dual;

 

to_char(sysdate,'yyyy-MM-dd')

 

select to_number(replace(to_char(sysdate,'yyyy-MM-dd'),'-')) from dual;

select to_number(replace(to_char(sysdate,'yyyy-MM-dd'),'-')) as one_number from dual;

 

 

 

 

 

 

 

 

 

 

其餘函數

有如下函數不便進行分類,開發之中會常用:

No.

函數名

含義

1

數字 nvl (列 | null, 默認值)

空值置換。若是傳入的數據時null,則使用默認值,若是不是null,則使用原始數據。

2

數據類型 decode(列 | 字符串 | 數值,比較內容1,顯示內容1, 比較內容2,顯示內容2,…[,默認顯示內容])

條件取值。設置的內容會與每個比較內容進行比較,若是內容相同,則使用顯示內容進行輸出,若是都不行同,使用默認內容輸出。

 

 

 

 

 

 

示例1:查詢emp表全部僱員的僱員編號,姓名,薪資,佣金,年薪。

select empno,ename,sal,comm,(sal+nvl(comm,0))*12 from emp;

 

 

null與全部數據計算後仍是null

示例2:將emp表中的職位(辦事員、經理)置換爲中文。

select empno,ename,job,decode(job,'CLERK','辦事員','MANAGER','經理') from emp;

相關文章
相關標籤/搜索