总而言之,我有时需要使用OPENQUERY()
函数在Sql Server中将Postgresql或MySql查询表示为字符串文字。这些查询通常也有自己的字符串文字。 (请注意,我不在这里使用动态sql ...这些查询中的文字是查询的常量,我 EM>)
在这种情况下,在处理查询时,通常需要将我为Sql Server存储的内容复制/粘贴到postgresql或MySql查询工具中,然后清除任何文字上的额外单引号。当我完成后,我需要将其复制/粘贴回项目的源代码控制并进入Sql Server,此时我需要再次将所有这些单引号加倍。与那些引用字符混淆是一种痛苦,不幸的是SET QUOTED_IDENTIFIER OFF
在这种情况下不适合我。
是否有另一种方法来表示Sql Server的字符串文字,我可以使用它来避免在不同数据库的查询工具之间来回移动查询时需要使用我的引号字符?
答案 0 :(得分:1)
我知道没有任何方法可以更改SQL Server的字符串引号字符,因此您必须像过去那样指定它们。您可以自动在查询文件中生成正确的引号字符,具体取决于您的数据库服务器。例如,我曾经使用Microsoft Excel实现过一种蛮力的方式。一个Excel列将包含我的核心查询,然后后续的Excel列将使用SUBSTITUTE()函数转换该列。当然,如果你想做一些更优雅的事情,你可以很容易地自动化。