【问题标题】:How can I fetch non-english column names from a table in SQL Server 2008?如何从 SQL Server 2008 中的表中获取非英语列名?
【发布时间】:2015-03-28 10:02:37
【问题描述】:
我创建了一个 items_table。此表的列名称为 ਸੋਯਾਬੀਨ 和 ਕਨ੍ਨੀ ,它们的语言不是英语。我使用
成功创建了列
更改表 item_table 添加 "+item.Text+" Nvarchar(50);
在 UI 的文本框中输入了非英文列名。
但现在在下一步中,我想从此表中获取列名并将它们作为项目添加到 c# 应用程序的组合框中。我想知道可以获取非英文列名的查询。
我目前正在使用查询-->>
选择 * 从
INFORMATION_SCHEMA.COLUMNS
在哪里
TABLE_NAME=N'item_table'
它返回的是我的数据库的名称。
【问题讨论】:
标签:
c#
sql
sql-server-2008
【解决方案1】:
根据您发布的少量信息,我假设您正在寻找 INFORMATION_SCHEMA。
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
或
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=N'MyTable'
【解决方案2】:
我不知道所有规则,但 SQL Server 要求您为非英文列名添加额外的封装。它似乎基于代码页;我希望其他人可以添加更清晰的参考。
这适用于 SQL Server 2008 (express):
从 [dbo] 中选择 [वाabcÖ432ÖवाÖ]、[[[]]न्यÖवा!223]]Ö]。[वाabcÖ432ÖवाÖ]
[ // Encapsulate the column
[ // Escape the first set of characters
[[]न्यÖवा!223]
]
Ö
]