Uma das minhas colunas é chamada from
. Não posso mudar o nome porque não o fiz. Posso fazer algo parecido SELECT from FROM TableName
ou existe uma sintaxe especial para evitar que o SQL Server seja confundido?
sql
sql-server
Nathan H
fonte
fonte
SELECT "from" FROM TableName
, agradável e portátil!Respostas:
Coloque o nome da coluna entre colchetes, assim,
from
passa a [de].Também é possível usar o seguinte (útil ao consultar várias tabelas):
fonte
select TableName.from from TableName;
PS: Funciona no MySQLSe estivesse no PostgreSQL, use aspas duplas ao redor do nome, como:
Nota: Internamente, o PostgreSQL converte automaticamente todos os comandos e parâmetros não citados para minúsculas. Isso tem o efeito de que comandos e identificadores não diferenciam maiúsculas de minúsculas. sEleCt * de tAblE; é interpretado como selecionar * da tabela; . No entanto, os parâmetros dentro de aspas duplas são usados como estão e, portanto, são sensíveis a maiúsculas e minúsculas: selecione * de "tabela"; e selecione * em "Tabela"; obtém o resultado de duas tabelas diferentes.
fonte
Enquanto você estiver fazendo isso - aliás, como outra coisa (ou melhor ainda, use uma exibição ou um SP e descontinue o antigo método de acesso direto).
fonte
Estas são as duas maneiras de fazer isso:
fonte
Sua pergunta parece estar bem respondida aqui, mas quero apenas adicionar mais um comentário a este assunto.
Aqueles que projetam o banco de dados devem estar cientes das palavras-chave reservadas e evitar usá-las. Se você descobrir alguém usando, informe-o sobre isso (de maneira educada). A palavra-chave aqui é palavra reservada .
Mais Informações:
e
fonte
Se você estiver usando o SQL Server, poderá simplesmente colocar os colchetes ao redor do nome da coluna ou da tabela.
fonte
No Apache Drill, use aspas:
fonte
Eu também enfrentei esse problema. E a solução para isso é colocar [Column_Name] assim na consulta.
Portanto, ele funcionará perfeitamente bem.
fonte
Oi Eu trabalho em sistemas Teradata que são completamente compatíveis com ANSI. Use aspas duplas "" para nomear essas colunas.
Por exemplo,
type
é uma palavra-chave reservada SQL e, quando usada entre aspas,type
é tratada como um nome especificado pelo usuário.Veja abaixo o exemplo de código:
fonte
Você pode colocar o nome da coluna entre colchetes, como:
Ou
Coloque em uma mesa temperada e use como quiser.
Exemplo:
Aqui, apenas presumo que o seu_tablename contenha apenas uma coluna (ou seja, de).
fonte
[from]
é a única coluna queyour_tablename
possui."[Total]"
:? Ou talvez haja uma maneira de escapar disso, algo assim[\[Total\]]
?Corri no mesmo problema ao tentar atualizar uma coluna cujo nome era uma palavra - chave . A solução acima não me ajudou. Eu resolvi isso simplesmente especificando o nome da tabela assim:
fonte
O seguinte funcionará perfeitamente:
fonte
No MySQL, como alternativa às aspas (`), você pode usar a interface do usuário para alterar os nomes das colunas. Clique com o botão direito do mouse na tabela> Alterar tabela> Edite o nome da coluna que contém a palavra-chave sql> Confirmar.
Como uma observação, o acima não funciona no MySQL
fonte
A julgar pelas respostas aqui e minha própria experiência. A única resposta aceitável, se você planeja ser portátil, não use palavras-chave SQL para tabela, coluna ou outros nomes.
Todas essas respostas funcionam nos vários bancos de dados, mas aparentemente muitas não suportam a solução ANSI.
fonte