かっこは、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 クエリを使い始めたばかりで、よくわからない人です。それ以外は、クエリを混乱させるだけです。
括弧内はすべて単一の識別子と見なされます ([test machine] など)。名前をスペースで囲んだり、予約語をエスケープしたりするために使用できます ([order]、[select]、[group] など)。
SQLの予約済みキーワードと同じ列名を使用する場合、その場合、カスタム列名と既存の予約済みキーワードを区別するために列名を角括弧で囲むことができます。
それらは、列またはテーブル名に特殊文字 (スペースなど) を入れることを可能にする単純な区切り記号です。
insert into [Table One] ([Column Name 1], columnname2) values (val1, val2)