システム開発 備忘録



SQL変換(ORACLE、SQL Server、ACCESS、PostgreSQL )

*** *** *** *** ***


自分でよく混乱するものだけを集めました。

SQL関数
オラクル SQLサーバー アクセス PostgreSQL
NVL ISNULL NZ COALESCE
DECODE CASE … WHEN … IIF CASE … WHEN …
SUBSTR SUBSTRING Mid SUBSTRING
TRIM RTRIM(LTRIM('対象')) TRIM TRIM

SQL構文
オラクル SQLサーバー アクセス PostgreSQL
列の定義変更
ALTER TABLE テーブル名 MODIFY (列名 列定義)
列の定義変更
ALTER TABLE テーブル名 ALTER COLUMN 列名 列定義
列の定義変更
ALTER TABLE テーブル名 ALTER COLUMN 列名 列定義
列の定義変更
ALTER TABLE テーブル名 ALTER COLUMN 列名 TYPE 列定義

SQLその他
オラクル SQLサーバー アクセス PostgreSQL
(+)
外部結合
LEFT JOIN LEFT JOIN LEFT JOIN
||
文字列の結合
+ & ||
%
LIKEのワイルドカード
% * %
_(アンダーバー)
LIKEのワイルドカード1文字分
_(アンダーバー) ?
(数字限定なら#)
_(アンダーバー)
SYSDATE
システム日時
GETDATE() NOW() current_timestamp
(current_Date)
(current_time)
日付の加算(減算)
SYSDATE+1(-1)

月の加算(減算)
ADD_MONTHS(SYSDATE,1)

年の加算(減算)
ADD_MONTHS(SYSDATE,1*12)
日付の加算
DATEADD(day,1,GETDATE())

月の加算
DATEADD(month,1,GETDATE())

年の加算
DATEADD(year,1,GETDATE())
日付の加算
DATEADD("d",1, NOW ())

月の加算
DATEADD("m",1, NOW ())

年の加算
DATEADD("yyyy",1, NOW ())
日付の加算
current_ Date +1

月の加算
current_date+ interval '1 month'

年の加算
current_date+ interval '1 year'
to_date('enddate') - to_date('startdate')
日付間の差
DATEDIFF ( day , startdate , enddate ) DATEDIFF ('d',#startdate# ,#enddate#) 'enddate' - date 'startdate'
ROWNUM
行番号
ROW_NUMBER() OVER(ORDER BY Col1) 関数自作の必要あり
(引数にキーを渡し、そのキーより前の行番号のMAX値を取得する関数)
関数自作の必要あり
(引数にキーを渡し、そのキーより前の行番号のMAX値を取得する関数)




Copyright (C) 2009- station-t.com All Rights Reserved , Link Free