如何从SQL Server 2008中的表中获取非英语列名?

时间:2015-03-28 10:02:38

标签: c# sql sql-server-2008

我创建了一个items_table。专栏'这张桌子的名字是ਯੋਯਾਬੀਨ和ਕਨ੍ਨੀ,它们的语言不是英语。我使用
成功创建了列 alter table item_table add" + item.Text +"为nvarchar(50);

在UI上的文本框中输入非英语列名称。 但现在在下一步我想从这个表中获取列名,并将它们作为项目添加到c#app中的组合框中。我想知道可以获取非英文列名的查询。 我目前正在使用查询 - >> 选择*来自 INFORMATION_SCHEMA.COLUMNS 哪里 TABLE_NAME = N' item_table'

它返回的是我的数据库的名称。

2 个答案:

答案 0 :(得分:1)

根据您发布的少量信息,我假设您正在寻找INFORMATION_SCHEMA

SELECT * FROM INFORMATION_SCHEMA.COLUMNS

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=N'MyTable'

答案 1 :(得分:0)

我不知道所有规则,但SQL Server要求您为非英语列名添加额外的封装。它似乎是基于代码页;我希望其他人可以添加一个更清晰的参考。

这适用于SQL Server 2008(express):

选择[वाabcÖ432ÖवाÖ],[ [[]]न्यवा!223]]Ö]来自[dbo]。[वाabcÖ432ÖवाÖ] < / p>

[ // Encapsulate the column
    [ // Escape the first set of characters
        [[]न्यÖवा!223]
    ]
    Ö
]