Почему Select 77C работает, а не C77 в Sql - PullRequest
0 голосов
/ 05 июля 2011

Если я пишу select 77C, вывод будет

C
77

Но если я пишу

select C77

Вывод будет Msg 207, уровень 16, состояние 1, строка 1, недопустимый столбецимя 'C77'.

Почему такое поведение?

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

77 является буквенным числом, поэтому его можно выбрать самостоятельно, для меня MSSQL предполагает, что конечный C является псевдонимом, поэтому я получаю результаты, которые вы делаете.

Для C77, C не является допустимым литералом и 77 не является допустимым псевдонимом, поэтому он не работает, например, он будет работать;

select 1 as C into #t
select C[77] from #t

select 'C'[77] 
0 голосов
/ 05 июля 2011

Ваша СУБД переведет

select 77C

К

select 77 AS C

Но это не может перевести select C77, потому что это ничего не значит для него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...