今天遇到了一个业务,需要查询A表的order列为3的值,想当然的输入了以下sql:
select * from A where order = 3;
结果编译器一直提示order附近语法有问题,找了半天才发现,原来在SQLServer中,order是关键字,和列名重复了,如果想要在sql使用列名或者表名order,需要使用如下格式:[order]
所以,上面的代码修改以下,就可以正常执行了。
select * from A where [order] = 3;
一个很小的问题,但是值得关注一下。