T-SQL 如果一起使用美元和括号符号会出错

T-SQL error if use dollar and bracket symbols together

我在执行 T-SQL 脚本时收到以下错误消息,此结构为“$(”,在 sqlcmd 实用程序中:

C:\Users\Admin>sqlcmd -S DESKTOP-5AA9JIA\SQLEXPRESS -q "select '$(' " -R
Sqlcmd: Error: Syntax error at line 1 near command '''.
1>

如果运行这个脚本通过 SSMS 那么一切都会顺利进行。

在使用 INSERT INTO 语句或任何其他语句时出现相同的错误。

有什么解决方法的建议吗?

启动时应使用 -x sqlcmd 以忽略 scripting variables

-x

Causes sqlcmd to ignore scripting variables. This is useful when a script contains many INSERT statements that may contain strings that have the same format as regular variables, such as $(variable_name).

sqlcmd Utility

当 sqlcmd 解析器发现 $( 它需要未提供的脚本变量时,它会抛出错误。

这是我的测试: