Excel无法识别SQL语句中的变量

时间:2015-09-16 09:32:55

标签: sql sql-server excel

我正在将SQL语句写入常规Excel工作表(而不是VBA),可以将其从单元格复制并粘贴到SQL Server Management Studio中。

然而,为了使它工作,我需要声明变量(例如@userid)。通常,Excel使用变量没有问题,但是当我将它们放入IF语句时,它告诉我它是一个“无效函数”。

例如,我的SQL查询的一部分如下所示:

="VALUES("&IF(Keys!B5<>"", Keys!B5, "@spid")&", @sid, GETDATE())"

现在我必须在变量周围添加引号。不幸的是,这意味着,当粘贴到SQL Server Management Studio中时,您必须再次删除变量周围的引号,以便将它们识别为变量而不是字符串。这很不方便,因为我的电子表格应该被设计为更快更容易地添加记录。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

以下是您可以使用的几种可能的解决方法。

  1. 在Key!B5中使用'@spid。用作Range.PrefixCharacter property的单个标记不会添加到连接字符串中。
  2. 在Key!B5中使用spid并将 @ 放入公式字符串部分。
    ="VALUES(@"&IF(Keys!B5<>"", Keys!B5, "spid")&", @sid, GETDATE())"
  3. 与2.相同但格式化Key!B5与自定义数字格式掩码\@@一样\是一个转义字符,用于制作第一个@ literal。当单元格实际包含@spid时,这会将值显示为spid