第102回 Oracleのお勉強 DATE型, TO_CHAR, TRUNC
DATE型を取得
SQL> select to_date('2009/01/01', 'YYYY/MM/DD') from dual; TO_DATE( -------- 09-01-01
SQL> select sysdate from dual; SYSDATE -------- 09-05-30
このように、特にテーブルを指定する必要がないときは dual を fromに書く。
to_date()によりDATE型を作り出せる。
to_charで表示形式を変える
SQL> select to_char(to_date('2009/01/01', 'YYYY/MM/DD'), 'YYYY/MM/DD') from dual; TO_CHAR(TO_DATE('200 -------------------- 2009/01/01
SQL> select to_char(sysdate, 'YYYY/MM/DD') from dual; TO_CHAR(SYSDATE,'YYY -------------------- 2009/05/30
このように to_charで表示形式を変えれる。
TRUNC
SQL> select trunc(sysdate, 'HH') from dual; TRUNC(SY -------- 09-05-30
TRUNC()に日付を与えると、切り捨てることができる。
to_char と TRUNCの違いって?
to_charは文字列を返すけど、
TRUNCは同じ型を返してくれる。
to_char っていうのは
sprintf とか printf みたいなもの、
書式を与えると、その書式で返してくれるわけ。
SQL> select to_char(sysdate, 'YYYY/MM/DD DY') from dual; TO_CHAR(SYSDATE,'YYYY/MM/DDDY' ------------------------------ 2009/05/30 土
だから、こんな風に、曜日とかも出せる。