我正在尝试在SQL Server中声明类似@wi-fi
的变量,但不允许使用短划线字符。还有其他字符,例如/ * - ( )
有同样的问题。我知道对于表名或列名,我们可以将它放在[]
中,但是如何声明变量呢?有解决方案吗?
我已经在网上搜索过但找不到任何方法。
答案 0 :(得分:8)
本地变量名称必须符合标识符规则。 MSDN说:
在Transact-SQL语句中使用标识符时,不符合这些规则的标识符必须用双引号或括号分隔。
但是这条规则对变量命名无效。在SQL Server中,对变量名称有限制。所有变量名称必须以单个@
符号开头。之后,变量名称必须遵循标识符规则,并且可以包含总共128个字符。当我们说出字符时,我们的意思是名称可以包含letters, numbers, the @ sign, the pound sign, the dollar sign and the underscore character
。 变量名称不能包含任何短划线或空格。