如何在 create table Sql 查询中的列名中设置括号
How to set parenthesis in column name in create table Sql query
我想在 SQL Server2012 中创建一个 table,它的列名称包含括号
create table temp_sp
(
logtime datetime,
vcs_api varchar,
L3(S1)Status varchar,
L3(S2)Status varchar,
beam_current real,
beam_energy real,
st1_vs1_bag1_rb real,
ring_avg_pressure real
)
但是当我在 L3(S1)Status
、L3(S2)Status
中使用括号时,我得到一个错误
Incorrect Syntax near '('.Expecting ')'or ','.**
如何解决?
放在里面就可以了[]
create table temp_sp (
logtime datetime,
vcs_api varchar,
[L3(S1)Status] varchar,
[L3(S2)Status] varchar,
beam_current real,
beam_energy real,
st1_vs1_bag1_rb real,
ring_avg_pressure real
)
编辑: 正如下面的评论所述:您不应留下未指定长度的可变长度字段。 VARCHAR 和 NVARCHAR 有两个默认值,1 或 30,具体取决于使用的 how/where。
使用方括号
[Like (this)]
但是不要这样做。这让你所有的 SQL 都写起来很尴尬,也可能使 SP 和代码调用更加困难。
括号,单逗号是sqlserver的保留字。一般避免这种事情。
你仍然想要,你需要使用括号 []
来告诉 sqlserver 它是字符串,而不是保留字。
所以 [L3(S1)] Status varchar
这对你有用。
好文章:- http://technet.microsoft.com/en-us/library/aa224033%28v=sql.80%29.aspx
Which "special" characters are allowed in SQL Server varchar fields?
What characters are valid in an SQL Server database name?
http://msdn.microsoft.com/en-us/library/ms175874.aspx
Characters that must be escaped in Tsql
我想在 SQL Server2012 中创建一个 table,它的列名称包含括号
create table temp_sp
(
logtime datetime,
vcs_api varchar,
L3(S1)Status varchar,
L3(S2)Status varchar,
beam_current real,
beam_energy real,
st1_vs1_bag1_rb real,
ring_avg_pressure real
)
但是当我在 L3(S1)Status
、L3(S2)Status
中使用括号时,我得到一个错误
Incorrect Syntax near '('.Expecting ')'or ','.**
如何解决?
放在里面就可以了[]
create table temp_sp (
logtime datetime,
vcs_api varchar,
[L3(S1)Status] varchar,
[L3(S2)Status] varchar,
beam_current real,
beam_energy real,
st1_vs1_bag1_rb real,
ring_avg_pressure real
)
编辑: 正如下面的评论所述:您不应留下未指定长度的可变长度字段。 VARCHAR 和 NVARCHAR 有两个默认值,1 或 30,具体取决于使用的 how/where。
使用方括号
[Like (this)]
但是不要这样做。这让你所有的 SQL 都写起来很尴尬,也可能使 SP 和代码调用更加困难。
括号,单逗号是sqlserver的保留字。一般避免这种事情。
你仍然想要,你需要使用括号 []
来告诉 sqlserver 它是字符串,而不是保留字。
所以 [L3(S1)] Status varchar
这对你有用。
好文章:- http://technet.microsoft.com/en-us/library/aa224033%28v=sql.80%29.aspx
Which "special" characters are allowed in SQL Server varchar fields?
What characters are valid in an SQL Server database name?
http://msdn.microsoft.com/en-us/library/ms175874.aspx
Characters that must be escaped in Tsql