我的一个专栏叫。我不能改名字,因为不是我做的。 我是否允许做一些像SELECT from TableName或有一个特殊的语法,以避免SQL Server混淆?
当前回答
如果您正在使用SQL Server,您可以简单地将方括号括在列名或表名周围。
select [select]
from [table]
其他回答
在Apache Drill中,使用反引号:
select `from` from table;
你可以像这样把你的列名放在括号里:
Select [from] from < ur_tablename>
Or
放入一个临时表,然后随意使用。 例子:
Declare @temp_table table(temp_from varchar(max))
Insert into @temp_table
Select * from your_tablename
这里我只是假设your_tablename只包含一列(即from)。
如果您正在使用SQL Server,您可以简单地将方括号括在列名或表名周围。
select [select]
from [table]
我在尝试更新名称为关键字的列时遇到了同样的问题。上面的解决方案对我没有帮助。我通过简单地指定表的名称来解决它,就像这样:
UPDATE `survey`
SET survey.values='yes,no'
WHERE (question='Did you agree?')
当你这样做的时候,把它别名为其他东西(或者更好的是,使用一个视图或SP并弃用旧的直接访问方法)。
SELECT [from] AS TransferFrom -- Or something else more suitable
FROM TableName