かっこはSQLステートメントで何をしますか?
たとえば、次のステートメントでは、
table1([columnname1]、columnname2)の値(val1、val2)に挿入する
また、テーブル名が角かっこで囲まれている場合はどうなりますか?
[]は識別子の区切りを示します。そのため、列にOrder Qtyのようなスペースが含まれている場合は、次のように[]で囲む必要があります。
select [Order qty] from [Client sales]
また、識別子として使用される予約済みキーワードをエスケープします
これは、「区切り識別子」のMicrosoft SQL Server非標準構文です。 SQLは、識別子の区切り文字をサポートして、テーブル名、列名、またはその他のメタデータオブジェクトに以下を含めることができるようにします。
Microsoft SQL Serverは角括弧を使用しますが、これは標準SQLが区切り識別子に使用する構文ではありません。通常、区切り文字には二重引用符を使用する必要があります。
Microsoft SQL Serverでは、次のように、区切り記号に標準の二重引用符を使用するモードを有効にできます。
SET QUOTED_IDENTIFIER ON;
これらは、予約済みキーワードまたは無効な列識別子をエスケープするためのものです。
CREATE TABLE test
(
[select] varchar(15)
)
INSERT INTO test VALUES('abc')
SELECT [select] FROM test
列やテーブルなどの名前にキーワード(dateなど)を使用できます...
これはそもそも悪い習慣であるため、通常は含まれていません。あなたがそれらが使用されているのを見るはずの唯一の場所は、何もよく知らないSQLクエリで始めている人々によるものです。それ以外は、クエリが雑然とします。
括弧内はすべて単一の識別子と見なされます(例:[テストマシン]。これは、名前をスペースで囲むか、予約語をエスケープするために使用できます(例:[順序]、[選択]、[グループ])。
これらは単に列またはテーブル名に特殊文字(スペースなど)を入れることができる区切り文字です。
insert into [Table One] ([Column Name 1], columnname2) values (val1, val2)
sQLの予約キーワードと同じ列名を使用する場合、その場合、列名を角括弧で囲んで、カスタム列名と既存の予約キーワードを区別できます。
スペースまたはダッシュ(-)などを含むテーブル名またはファイル名がある場合、「FROM句のSystaxエラー」を受け取ることがあります。これを解決するには、[]ブラケットを使用します。