DML note01 basic
メモ
with句も、「副問い合わせ」と呼称する、みたい。
型
NUMBER 38桁の浮動小数点型
NUMBER(n) n桁の整数型。nは 1~38
NUMBER(n ,m) n桁の小数型。mは小数部の桁数。nは 1~38、mは-84~127。
『NUMBER(7,2) 』の場合、整数部 5桁、小数部 2桁。
フォーマット
select
TO_CHAR(1, '0000') --先頭0埋め
,TO_CHAR(2, '9999') --満たない場合は表示しない
,TO_CHAR(3, 'S999,999') --符号を付ける
,TO_CHAR(-4, 'S999,999') --符号を付ける
,TO_CHAR(1234567, '000,000,000') --カンマ区切り
,TO_CHAR(1234567, '999,999,999') --カンマ区切り
from
dual
日付
select
SYSDATE
,SYSTIMESTAMP
,to_char(sysdate,'yyyy/mm/dd hh24:mi:ss')
,to_char(systimestamp,'yyyy/mm/dd hh24:mi:ss.ff3')
from
dual
月の計算
select
trunc(sysdate, 'MM') as "今月1日"
,last_day(sysdate) as "最終日"
,months_between(to_date('2018/05/01'), to_date('2018/01/01')) as "間の月数" --(結果:4)
,months_between(to_date('2018/05/01'), to_date('2018/01/15')) as "間の月数2" --(結果:3.5483871)
,trunc(months_between(to_date('2018/05/01'), to_date('2018/01/01'))) as "間の月数3" --(結果:4)
,ceil(months_between(to_date('2018/05/01'), to_date('2018/01/01'))) as "xxx"
from
dual
特殊文字
文字 | ASCII Code Style | 備考 |
---|---|---|
タブ | CHR(9) | \t |
CR | CHR(13) | \r |
LF | CHR(10) | \n |
スペース | CHR(32) | |
引用符(') | CHR(39) | |
改行(Win) | CHR(13) || CHR(10) | |
改行(Linux) | CHR(10) |
like検索:任意の文字を指定
変数を指定可
select
*
from
TABLE1
where 1=1
and COLUMN2 like '%' || '検索文字' || '%'
日付
SELECT
ADD_MONTHS(TO_DATE('2018/01/28'), 1) AS "1/28 の1か月後"
,ADD_MONTHS(TO_DATE('2018/01/29'), 1) AS "1/29 の1か月後"
,ADD_MONTHS(TO_DATE('2018/01/30'), 1) AS "1/30 の1か月後"
,ADD_MONTHS(TO_DATE('2018/01/31'), 1) AS "1/31 の1か月後"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "3/28 の1か月前"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "3/29 の1か月前"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "3/30 の1か月前"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "3/31 の1か月前"
,ADD_MONTHS(TO_DATE('2020/01/28'), 1) AS "1/28 の1か月後(閏年)"
,ADD_MONTHS(TO_DATE('2020/01/29'), 1) AS "1/29 の1か月後(閏年)"
,ADD_MONTHS(TO_DATE('2020/01/30'), 1) AS "1/30 の1か月後(閏年)"
,ADD_MONTHS(TO_DATE('2020/01/31'), 1) AS "1/31 の1か月後(閏年)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "3/28 の1か月前(閏年)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "3/29 の1か月前(閏年)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "3/30 の1か月前(閏年)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "3/31 の1か月前(閏年)"
FROM
DUAL