2017-10-19 151 views
0

我想读取一些条目从微软的SQL数据库。 问题在于,其中一列的名称中包含特殊字符“bedürfnisse”,并且所有条目都在Latin1_General_CI_AS中。 我需要选择此列。SQL查询与德国特殊字符和Latin1_General_CI_AS

Select nameName.bedürfnisse 
FROM nameName 

这是行不通的。我也试过

Select nameName.bedürfnisse COLLATE Latin1_General_CI_AS 
FROM nameName 

但这也行不通。我如何选择此栏?

+0

而不是'nameName。“bedürfnisse”',因为没有dbms被标记为ANSI SQL。 (也可以与SQL Server一起使用。)但是,作为一般性建议,请避免标识符中使用非ASCII字符。 – jarlh

+0

@jarlh你是对的。我很快假设TSQL:p – Magisch

回答

0

真正帮助的是在连接中定义UTF-8。它的一个选项参数是

0

如果它们包含特殊字符,则需要转义列名。这还包括列名中的空格或其他非标准ascii字符。

对于标准的ANSI SQL语法要做到这一点:

SELECT nameName."bedürfnisse" 
FROM nameName 

对于SQL Server这也适用:

SELECT nameName.[bedürfnisse] 
FROM nameName 

对于MySQL,这也适用:

SELECT nameName.`bedürfnisse` 
FROM nameName