我想知道为什么它可以工作,而且为什么不会返回错误:
SELECT 2015_11
结果:
╔══════╗
║ _11 ║
╠══════╣
║ 2015 ║
╚══════╝
第二种情况:
SELECT 2.1_a
╔═════╗
║ _a ║
╠═════╣
║ 2.1 ║
╚═════╝
检查元数据:
SELECT name, system_type_name
FROM sys.dm_exec_describe_first_result_set(
N'SELECT 2015_11', NULL, 0)
UNION ALL
SELECT name, system_type_name
FROM sys.dm_exec_describe_first_result_set(
N'SELECT 3.2_a', NULL, 0)
╔══════╦══════════════════╗
║ name ║ system_type_name ║
╠══════╬══════════════════╣
║ _11 ║ int ║
║ _a ║ numeric(2,1) ║
╚══════╩══════════════════╝
以字母开头的标识符表现得和我预期的一样:
SELECT a_11
-- Invalid column name 'a_11'.