Eig*_*ite 12 sql sql-server parameters
我需要知道在SQL参数名称中使用的有效字符是什么.
给定一些简单的东西,例如SELECT * FROM tblTest WHERE testid = @[X],如果X包含连字符,则语句将失败.参数名称的有效字符是什么?
mar*_*c_s 22
在线搜索SQL书籍中的"标识符",您应该找到:
常规标识符规则
常规标识符格式的规则取决于数据库兼容级别.可以使用sp_dbcmptlevel设置此级别.兼容级别为90时,以下规则适用:
第一个字符必须是以下之一:
- Unicode标准3.2定义的字母.字母的Unicode定义包括从a到z,
从A到Z的拉丁字符,以及来自其他语言的字母字符.- 下划线(_),符号(@)或数字符号(#).
标识符开头的某些符号在SQL Server中具有特殊含义.以at符号开头的常规标识符始终表示局部变量或参数,不能用作任何其他类型对象的名称.以数字符号开头的标识符表示临时表或过程.以双数字符号(##)开头的标识符表示全局临时对象.虽然数字符号或双数字符号可用于开始其他类型对象的名称,但我们不建议使用此做法.
某些Transact-SQL函数的名称以符号(@@)的double开头.为避免与这些功能混淆,不应使用以@@开头的名称.
后续字符可包括以下内容:
- Unicode标准3.2中定义的字母.
- 来自Basic Latin或其他国家脚本的十进制数字.
- at符号,美元符号($),数字符号或下划线.
标识符不能是Transact-SQL保留字.SQL Server保留保留字的大写和小写版本.不允许使用嵌入空格或特殊字符.不允许使用补充字符.
在线搜索SQL书籍中的"分隔标识符",您应该找到:
标识符的主体可以包含当前代码页中的任何字符组合,但分隔字符本身除外.例如,分隔标识符可以包含空格,对常规标识符有效的任何字符以及以下任何一个字符.
Run Code Online (Sandbox Code Playgroud)tilde (~) hyphen (-) exclamation point (!) left brace ({) percent (%) right brace (}) caret (^) apostrophe (') ampersand (&) period (.) left parenthesis (() backslash (\) right parenthesis ()) accent grave (`)
渣