我可以在SQL Server表或列名中使用非标准英文字符吗?

时间:2016-09-03 00:40:44

标签: sql-server

我正在为不是英语的语言开发系统。

在某些情况下,表格或列名称可能包含一些非标准的英文字符(如ç,ã,é......)。

我可以毫无问题地在Microsoft SQL Server中使用这些字符吗?

我知道SQL Server接受这些字符。我想知道这是否会导致任何问题,具体取决于服务器配置或任何事情。

1 个答案:

答案 0 :(得分:3)

是的,你可以。但是,最佳做法是符合Rules for Regular Identifiers

  

第一个字符必须是以下之一:

     

◦Unicode标准3.2定义的字母。 Unicode   字母的定义包括从a到z的拉丁字符   A到Z,还有其他语言的字母。

     

◦下划线(_),符号(@)或数字符号(#)。

     

标识符开头的某些符号具有特殊含义   在SQL Server中。以at符号开头的常规标识符   always表示局部变量或参数,不能用作   任何其他类型对象的名称。以a开头的标识符   数字符号表示临时表或程序。一个标识符   以双数字符号开头(##)表示全局临时符号   宾语。虽然数字符号或双数字符号可以   用于开始其他类型对象的名称,我们没有   推荐这种做法。

     

某些Transact-SQL函数的名称以符号开头为double   (@@)。为避免与这些功能混淆,您不应该使用   以@@。

开头的名称      

2.后续字符可包括以下内容:

     

◦Unicode标准3.2中定义的字母。

     

◦来自Basic Latin或其他国家脚本的十进制数字。

     

◦符号,美元符号($),数字符号或下划线。

     

3.标识符不能是Transact-SQL保留字。 SQL Server保留保留字的大写和小写版本。   在Transact-SQL语句中使用标识符时,标识符   不符合这些规则的,必须加倍划分   引号或括号。保留的单词取决于   数据库兼容级别。可以使用ALTER设置此级别   数据库声明。

     

4.不允许嵌入空格或特殊字符。

     

5.不允许使用补充字符。