2013/08/26

09-04.Sing-Row Functions【変換関数(Conversion Functions)】

■TO_CHAR
 -TO_CHAR関数はDATEタイプ、NUMBERタイプを文字タイプに変換する関数。
 -TO_CHAR(number), TO_CHAR(number, format), TO_CHAR(date, format)...

・Number Formatの変換例
 -NUMBERタイプのデータを特定の文字タイプに変換できる

--「,」例
SQL> SELECT TO_CHAR(12345678, '999,999,999') comma FROM DUAL;

COMMA
------------
  12,345,678


--小数点例
SQL> SELECT TO_CHAR(123.45678, '999,999,999.99') period FROM DUAL;

PERIOD
---------------
         123.46


--「$」例
SQL> SELECT TO_CHAR(12345678, '$999,999,999') dollar FROM DUAL;

DOLLAR
-------------
  $12,345,678


--Local通貨単位例(日本の場合、\に自動変換される)
SQL> SELECT TO_CHAR(12345678, 'L999,999,999') local FROM DUAL;

LOCAL
----------------------
           \12,345,678


--左に0を挿入
SQL> SELECT TO_CHAR(123, '09999') zero FROM DUAL;

ZERO
------
 00123


--16進数に変換
SQL> SELECT TO_CHAR(123, 'XXXX') hexadecimal FROM DUAL;

HEXAD
-----
   7B



・Date Formatの変換例
--年、月、日、時、分、秒
SQL> SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "sysdate" FROM DUAL;

sysdate
-------------------
2013-08-26 16:04:39


--365日中、何日目か検索
SQL> SELECT TO_CHAR(SYSDATE, 'DDD') "Day do year" FROM DUAL;

Day
---
238


--53週中、何週目か検索
SQL> SELECT TO_CHAR(SYSDATE, 'IW') "Week of year" FROM DUAL;

We
--
35


--該当月の名前検索
SQL> SELECT TO_CHAR(SYSDATE, 'MONTH') "Name of month" FROM DUAL;

Name o
------
8月




・Date Format Elements
※WWとIWは1年の何週目(1~53)かを検索するフォーマットだが、
 ”WW”は1日から7日までを1週目とする。
 ”IW”は実際のカレンダーに合わせて計算される。

■TO_DATE
 -TO_DATE関数はCHAR,VARCHAR2タイプをDATEタイプに変換する。
 -TO_DATE(char, format)で使用。
 -上記Date Format Elementsで”W”、”WW”フォーマット以外はTO_DATE関数のフォーマットで使用可能。


SQL> SELECT TO_DATE('2013-08-26', 'YYYY-MM-DD') FROM DUAL;

TO_DATE(
--------
13-08-26



■TO_NUMBER
 -CHAR、VARCHAR2データタイプをNUMBERタイプに変換する。
 -TO_NUMBER(char)で使用。

SQL> SELECT TO_NUMBER('12310616') FROM DUAL;

TO_NUMBER('12310616')
---------------------
             12310616

0 件のコメント:

コメントを投稿

QLOOKアクセス解析