Oracle SQLの関数一覧等
※参考度は個人的は評価です。(助かった度かも?)
Oracle SQLで曜日を取得する方法 和名 or 英名
参考度:★★★★☆
SQL 関数 - 余り、四捨五入、切り捨て、切り上げ、数値フォーマット等
参考度:★★★☆☆
SQLでの改行文字の調査
参考度:★★☆☆☆
-------------------------------------------------------------------
Oracle SQL 関数
2011年9月18日日曜日
2011年9月17日土曜日
Oracle SQLで曜日を取得する方法 和名 or 英名
TO_CHAR 関数で曜日を取得することが可能(和名、または、英名)
曜日を取得するには 書式指定に 'DAY' を指定する。
日本の曜日はすべて同じ長さなので関係ないが、
英語の曜日は一番長い 'Wednesday' の長さにあわせ空白が付けられている。
TO_CHAR( SYSDATE, 'Day', 'NLS_DATE_LANGUAGE = ENGLISH') ⇒ 'Sunday '
TO_CHAR( SYSDATE, 'Day') ⇒ '日曜日'
-----------------------------------------------------------------
Oracle SQL DAY 曜日
曜日を取得するには 書式指定に 'DAY' を指定する。
日本の曜日はすべて同じ長さなので関係ないが、
英語の曜日は一番長い 'Wednesday' の長さにあわせ空白が付けられている。
TO_CHAR( SYSDATE, 'Day', 'NLS_DATE_LANGUAGE = ENGLISH') ⇒ 'Sunday '
TO_CHAR( SYSDATE, 'Day') ⇒ '日曜日'
-----------------------------------------------------------------
Oracle SQL DAY 曜日
2011年9月14日水曜日
SQL 関数 - 余り、四捨五入、切り捨て、切り上げ、数値フォーマット等
・絶対値
ABS() 関数は、絶対値を返す。
この例では、受注数にマイナスがあっても正数として問い合わされる。
SELECT 品番, ABS(受注数) FROM 受注
ORDER BY 品番
;
・余り
MOD() 関数は、余りを返す。
この例では、受注数を 1000 で割ったあまりが問い合わされる。
SELECT 品番, MOD(受注数, 1000) FROM 受注
ORDER BY 品番
;
・四捨五入
ROUND() 関数は、四捨五入結果を返す。
この例では、受注数の小数第 3 位を四捨五入して、小数 2 桁の結果が問い
合わされる。
SELECT 品番, ROUND(受注数, 2) FROM 受注
ORDER BY 品番
;
・切り捨て
TRUNC() 関数は、切り捨て結果を返す。
この例では、受注数の小数 3 桁目以降を切り捨て、小数 2 桁の結果が問い
合わされる。
SELECT 品番, TRUNC(受注数, 2) FROM 受注
ORDER BY 品番
;
・切り上げ
切り上げ関数が見当たらないので。
TRUNC() に +9 すればOKでしょう。
この例では、受注数の小数第 3 位を切り上げたと同じ結果になります。
SELECT 品番, TRUNC(受注数 + .009, 2) FROM 受注
ORDER BY 品番
;
・数値から文字列へ変換 (数値フォーマット、書式変換)
TO_CHAR() 関数は、数値を文字列型に変換します。
この例では、受注数を文字列として返します。
SELECT 品番, TO_CHAR(受注数) FROM 受注
ORDER BY 品番
;
・三桁毎に数値にカンマ「,」を入れたい場合、次のようにします。
SELECT 品番, TO_CHAR(受注数, '999,999,999,999') FROM 受注
ORDER BY 品番
;
・小数点以下をフォーマットする場合は、次のようにします。
SELECT 品番, TO_CHAR(受注数, '999,999,999,999.99') FROM 受注
ORDER BY 品番
;
・ゼロ埋め(0 埋め) フォーマットする場合は、次のようにします。
SELECT 品番, TO_CHAR(受注数, '0000000000') FROM 受注
ORDER BY 品番
;
123 → 0000000123
・文字列から数値へ変換
TO_NUMBER() 関数は、文字列を数値に変換します。
この例では、受注数を文字列としたものを、また数値に変換しています。
現実的な例ではありませんが機能はわかるはずです。
SELECT 品番, TO_NUMBER(TO_CHAR(受注数)) FROM 受注
ORDER BY 品番
;
---------------------------------------------------------------------------
Oracle SQL 関数
ABS() 関数は、絶対値を返す。
この例では、受注数にマイナスがあっても正数として問い合わされる。
SELECT 品番, ABS(受注数) FROM 受注
ORDER BY 品番
;
・余り
MOD() 関数は、余りを返す。
この例では、受注数を 1000 で割ったあまりが問い合わされる。
SELECT 品番, MOD(受注数, 1000) FROM 受注
ORDER BY 品番
;
・四捨五入
ROUND() 関数は、四捨五入結果を返す。
この例では、受注数の小数第 3 位を四捨五入して、小数 2 桁の結果が問い
合わされる。
SELECT 品番, ROUND(受注数, 2) FROM 受注
ORDER BY 品番
;
・切り捨て
TRUNC() 関数は、切り捨て結果を返す。
この例では、受注数の小数 3 桁目以降を切り捨て、小数 2 桁の結果が問い
合わされる。
SELECT 品番, TRUNC(受注数, 2) FROM 受注
ORDER BY 品番
;
・切り上げ
切り上げ関数が見当たらないので。
TRUNC() に +9 すればOKでしょう。
この例では、受注数の小数第 3 位を切り上げたと同じ結果になります。
SELECT 品番, TRUNC(受注数 + .009, 2) FROM 受注
ORDER BY 品番
;
・数値から文字列へ変換 (数値フォーマット、書式変換)
TO_CHAR() 関数は、数値を文字列型に変換します。
この例では、受注数を文字列として返します。
SELECT 品番, TO_CHAR(受注数) FROM 受注
ORDER BY 品番
;
・三桁毎に数値にカンマ「,」を入れたい場合、次のようにします。
SELECT 品番, TO_CHAR(受注数, '999,999,999,999') FROM 受注
ORDER BY 品番
;
・小数点以下をフォーマットする場合は、次のようにします。
SELECT 品番, TO_CHAR(受注数, '999,999,999,999.99') FROM 受注
ORDER BY 品番
;
・ゼロ埋め(0 埋め) フォーマットする場合は、次のようにします。
SELECT 品番, TO_CHAR(受注数, '0000000000') FROM 受注
ORDER BY 品番
;
123 → 0000000123
・文字列から数値へ変換
TO_NUMBER() 関数は、文字列を数値に変換します。
この例では、受注数を文字列としたものを、また数値に変換しています。
現実的な例ではありませんが機能はわかるはずです。
SELECT 品番, TO_NUMBER(TO_CHAR(受注数)) FROM 受注
ORDER BY 品番
;
---------------------------------------------------------------------------
Oracle SQL 関数
2011年9月12日月曜日
SQLでの改行文字の調査
SQL文で改行文字を指定する方法は下記の通りです。
SELECT
受注番号
FROM
受注一覧
WHERE
SUBSTR(品名,1,1) = CHR(10)
上に例は品名に一文字目に改行が入っている受注番号を取ってくるSQL文です。
Oracle 10g SQL
SELECT
受注番号
FROM
受注一覧
WHERE
SUBSTR(品名,1,1) = CHR(10)
上に例は品名に一文字目に改行が入っている受注番号を取ってくるSQL文です。
Oracle 10g SQL
登録:
投稿 (Atom)