2017-10-19 122 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