我正在为不是英语的语言开发系统。
在某些情况下,表格或列名称可能包含一些非标准的英文字符(如ç,ã,é......)。
我可以毫无问题地在Microsoft SQL Server中使用这些字符吗?
我知道SQL Server接受这些字符。我想知道这是否会导致任何问题,具体取决于服务器配置或任何事情。
答案 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.不允许使用补充字符。