我在运行时创建一个查询(使用我的 Delphi 应用程序)然后我执行
EXEC (MyRunTimeGeneratedQuery)
一个例子是这样的:
SELECT
1977 AS [[Employee] Year Of Birth],
'Marc' AS [[Employee] Name]
一个数据库字段包含“[Employee] Date Of Birth”,因此在结果查询中我有一个双“]”,这会产生语法错误。"Employee" 后面的 "]" 后面的 SQL Server 期待 ","。
我发现一个解决方案是使用双引号将所有字段别名括起来:
SELECT
1977 AS "[Employee] Year Of Birth",
'Marc' AS "[Employee] Name"
这是一个可靠的解决方案吗?如果有哪些缺点?(这是我的问题!)
我能想到的另一个解决方案是不允许用户存储“]”,这样
“[雇员]出生日期”
可能会变成
“(雇员)出生日期”