SQL-92/99 Oracle Db2 SQL Server MySQL PostgreSQL Access
数値式1 + 数値式2
SQL Server/ Access/
文字列式1 + 文字列式2
Oracle/ SQL Server/ MySQL/ PostgreSQL/
日付式 + 数値式
+(演算子)は数値データを足し算するときに使用します。
SQL Server, Accessでは文字列データを連結、Oracle, SQL Server, MySQL, PostgreSQLでは日付データと数値データを足し算することができます。
Oracle, Db2, PostgreSQLで文字列を連結する場合には||(演算子)を使用します。
月単位の計算を行う場合、OracleではADD_MONTHS、SQL ServerではDATEADDを使用します。
関連キーワード
DATEADD
SQL実行例の説明(1)
・T1_SAMPLE表からSALEとPOINTを加算したデータを取得します。
SELECT C_ID, SALE + POINT FROM T1_SAMPLE;
SQL実行の結果(1-1)
C_ID | SALE | RATE | POINT |
---|---|---|---|
900101 | 12000 | 10.00 | 1200 |
900102 | 13000 | 10.00 | 1300 |
900103 | 5000 | 10.00 | 500 |
900104 | 5430 | 10.00 | 543 |
900105 | 5500 | 10.00 | 550 |
C_ID | SALE + POINT |
---|---|
900101 | 13200 |
900102 | 14300 |
900103 | 5500 |
900104 | 5973 |
900105 | 6050 |
SQL実行例の説明(2)
・T1_SAMPLE表からL_NAMEとF_NAMEの文字列を連結したデータを取得します。
-- SQL Server/ Access/
SELECT L_NAME + F_NAME AS 氏名 FROM T1_SAMPLE;
SQL実行の結果(2-1)
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
氏名 |
---|
山田晴男 |
佐藤愛 |
鈴木二郎 |
田中栄吉 |
木村匠 |
SQL実行例の説明(3)
・システム日付に10日を加算した日付データを取得します。
・数値データは日数として扱われるため月単位の足し算を行う場合には月の日数を計算する必要があります。
-- Oracle/
SELECT CURRENT_DATE, CURRENT_DATE + 10 FROM DUAL;
-- SQL Server/
SELECT GETDATE(), GETDATE() + 10;
SQL実行の結果(3-1)
Oracle/
CURRENT_DATE | CURRENT_DATE + 10 |
---|---|
06-06-14 | 06-06-24 |
SQL Server/
GETDATE() | GETDATE() + 10 |
---|---|
2006-06-14 10:11:50.500 | 2006-06-24 10:11:50.500 |
SQL実行例の説明(4)
・システム日付に1カ月を加算した日付データを取得します。
・数値データにはINTERVALの指定、さらに数値と日付タイプを指定する必要があります。
・なお、PostgreSQLでは日付データとして認識させるためDATEを使用するほか、数値と日付タイプは「'(シングルクォーテーション)」で括る必要があります。
-- MySQL/
SELECT '2006-06-01' + INTERVAL 1 MONTH AS NEXT_1MONTH;
-- PostgreSQL/
SELECT DATE('2006-06-01') + INTERVAL '1 MONTH' AS NEXT_1MONTH;
SQL実行の結果(4-1)
MySQL/
NEXT_1MONTH |
---|
2006-07-01 |
PostgreSQL/
NEXT_1MONTH |
---|
2006-07-01 00:00:00 |