【发布时间】:2025-12-18 09:40:01
【问题描述】:
我正在尝试将一些字符串连接在一起以定义路径 - 例如,给定 $(name) = "PATH",我想要 :r .\PathOne\PATH.sql。由于Syntax Error,查询在第一个:r 处失败。如果我对路径进行硬编码,并将$(name) 留在条件中,它会按预期工作。只是路径的字符串构造由于某种原因而失败。
IF '$(name)' LIKE 'TEST%'
BEGIN
:r .\PathOne\'$(name)'.sql
END
IF '$(name)' NOT LIKE 'TEST%'
BEGIN
:r .\PathTwo\'$(name)'.sql
END
如何在 SQL 中为路径连接字符串?直接命名文件即可。
【问题讨论】:
-
您确定将查询窗口设置为 SQLCMD 模式吗?你在哪里定义了 name 变量?
-
请提供想要的结果和你得到的结果
-
@AaronBertrand 是的 - 这是在其他地方定义和工作的,只是不在字符串构造中。
-
@FLICKER - 已更新。
-
@AaronBertrand - 如果我对路径进行硬编码,此流程将按我的意愿工作。我所需要的只是帮助用字符串构建路径——即使
IF '$(name)'也能按我的意愿工作。我就是无法让字符串路径正常工作。
标签: sql-server sql-server-2012 sqlcmd