我正在运行一个从powershell脚本调用的T-SQL脚本,该脚本包含一个文本行,其中包含一个包含$(MV)的序列。
当我运行脚本时,我得到错误“'MV'脚本变量未定义。”我假设是因为它将$(MV)字符串解释为变量而不是文本字符串的一部分。
如何将美元符号写为转义序列?这可能是一个字符串吗?
答案 0 :(得分:8)
您是否使用sqlcmd执行脚本?它将解释$(variablename)并尝试扩展它。
您可以使用-x命令行选项禁用它。
哦,如果你使用的是Invoke-Sqlcmd,你可以使用-DisableVariables参数。
我假设您不想完成sqlcmd变量替换。如果你只是试图获得$过去的Powershell,请使用反向标记(`$),如同另一个建议。
答案 1 :(得分:2)
您可以使用反引号字符转义PowerShell中的$符号:
`$