今天我找到了像
这样的查询SELECT 1 [Col_name] FROM MyTable
和
SELECT [Col_name] FROM MyTable
两者似乎都返回相同的结果。我很困惑。
这是实际查询:
SELECT 1 Col1 FROM [Table1] WHERE Col1 = 1
UNION
SELECT 2 Col1 FROM [Table1]
感谢任何帮助
答案 0 :(得分:3)
您的查询:
SELECT 1 [Col_name] FROM MyTable
将返回带有别名1
的文字值col_name
。即使col_name
是您表格中的标识符。
然而:
SELECT [Col_name] FROM MyTable;
将从您的表中选择col_name
。
同样的:
SELECT 1 Col1 FROM [Table1] WHERE Col1 = 1
UNION
SELECT 2 Col1 FROM [Table1]
只会给你两行:
1
2
无论表中的值如何。由于SELECT 1 Col1 FROM [Table1] WHERE Col1 = 1
返回带有别名1
的字面值col1
,SELECT 2 Col1 FROM [Table1]
会返回带有{2
的字面值col1
的字面值UNION
1}}(区别选择)设置运算符,只会给出两个值(1,2),因为它们是唯一的不同值。
答案 1 :(得分:1)