SQL 構文リファレンス
 
このページをシェアする                  
SQL 構文リファレンス
PSQL でサポートされる構文のリファレンス
PSQL でサポートされる SQL の文法を詳述します。
リテラル値
ステートメントの文法
文法要素の定義
グローバル変数
ほかの特性
リテラル値
PSQL は、標準のリテラル書式をすべてサポートしています。このセクションでは、最も一般的なリテラル書式の例をいくつか示します。
文字列値
数値
日付値
時刻値
タイムスタンプ値
文字列値
文字列定数は、指定する文字列を一重引用符で囲むことによって、SQL ステートメント内に表記できます。文字列自体が一重引用符またはアポストロフィを含んでいる場合は、その文字の前にもう 1 つ一重引用符を付ける必要があります。
文字列リテラルは VARCHAR 型を持ちます。文字は、データベース コード ページを使用してエンコードされます。リテラルの先頭に文字 "N" が付いている場合、そのリテラルは NVARCHAR 型を持ち、文字は UCS-2 を使用してエンコードされます。SQL クエリ文字列に埋め込まれたリテラルは、SQL エンジンで最終的に変換する前に、SQL アクセス方法で追加のエンコード変換の手続きを踏むことがあります。特に、SQL テキストがすべての Unicode 文字をサポートしていないエンコードに変換されている場合は、文字列リテラルを NVARCHAR へ変換する前に、SQL テキスト内の文字が失われることがあります。
最初の例では、文字列内に含まれるアポストロフィまたは一重引用符は、もう 1 つの一重引用符によってエスケープする必要があります。
SELECT * FROM t1 WHERE c1 = 'Roberta''s Restaurant'
SELECT STREET FROM address WHERE city LIKE 'san%'
数値
日付値
日付定数は、SQL ステートメント内に文字列として表記するか、ベンダー文字列に埋め込むことができます。最初のケースは CHAR 型の文字列として、ベンダー文字列表記は DATE 型の値として扱われます。これは変換時に重要になります。
PSQL では、この関数で概説しているように、拡張 SQL 文法を一部サポートしています。
PSQL では、'YYYY-MM-DD' という日付リテラル書式をサポートしています。
日付の年は 0 ~ 9999 の範囲が可能です。
次の 2 つのステートメントによって、開始日が 1995 年 6 月 5 日より後のすべての授業が返されます。
SELECT * FROM Class WHERE Start_Date > '1995-06-05'
SELECT * FROM Class WHERE Start_Date > {d '1995-06-05'}
時刻値
PSQL では、'HH:MM:SS' という時刻リテラル書式をサポートしています。
時刻定数は、SQL ステートメント内に文字列として表記するか、ベンダー文字列に埋め込むことができます。文字列表記は CHAR 型の文字列として、ベンダー文字列表記は TIME 型の値として扱われます。
PSQL では、この関数で概説しているように、拡張 SQL 文法を一部サポートしています。
次の 2 つのステートメントによって、class テーブルから、授業の開始時刻が 14:00:00 のレコードが取り出されます。
SELECT * FROM Class WHERE Start_time = '14:00:00'
SELECT * FROM Class WHERE Start_time = {t '14:00:00'}
タイムスタンプ値
タイムスタンプ定数は、SQL ステートメント内に文字列として表記するか、ベンダー文字列に埋め込むことができます。PSQL では、文字列表記は CHAR 型の文字列として、ベンダー文字列表記は TIMESTAMP 型の値として扱われます。
PSQL では、'YYYY-MM-DD HH:MM:SS.MMM' というタイムスタンプ リテラル書式をサポートしています。
次の 2 つのステートメントによって、Billing テーブルから、ログの開始日時が 1996-03-28 の 17:40:49 のレコードが取り出されます。
SELECT * FROM Billing WHERE log = '1996-03-28 17:40:49'
SELECT * FROM Billing WHERE log = {ts '1996-03-28 17:40:49'}
ステートメントの文法
以降のページでは、サポートされている SQL 文法要素すべての完全な文法について説明します。
メモ: ほとんどの SQL 例は、PSQL Control Center で提供される SQL Editor を使ってテストすることができます。例外については、文法要素の解説に示されています。SQL Editor に関する詳しい情報は、『PSQL User's Guide』の SQL Editor を参照してください。