是否可以在 VBS 中取消本地化 MSSQL 结果?

Is it possible to un-localize MSSQL-results in VBS?

抱歉,如果我使用了错误的术语 - 我不喜欢 MSSQL 或 VBScript。

我有一个实现 SQL 查询的给定脚本,其中包含

.. AND (rep.is_primary_replica is null or rep.is_primary_replica = ''True'' or rep.is_primary_replica = ''False'') ..

returns 在 德语 服务器上没有结果只是因为 rep.is_primary_replica 似乎包含 ''Wahr''''Falsch'' 而不是''True''''False''

This question 是关于一个至少类似的问题。

遗憾的是没有wtf标志。

有没有办法正确地做到这一点?

我可以禁用 字符串转换的本地化吗? (在 MS SQL 服务器?VBS?)

不要让脚本中打印的值让您感到困惑。存在从原始值到字符串的隐式转换,这取决于客户端(我认为在你的情况下是 VBScript)区域设置。

如果 repsys.dm_hadr_database_replica_states 视图的实例,此处的字段类型 is_primary_replica 必须是 bit

如果是这种情况,检查一个位域是Null,或者它的值等于TrueFalse是没有意义的,反正没有其他可能。

看来您可以安全地从查询中删除此条件。

如果您坚持要包含它,请改用数字文字。

AND (rep.is_primary_replica is null or rep.is_primary_replica = 1 or rep.is_primary_replica = 0)

这是查询位域的正确方法。通过这种方式,服务器或客户端的语言环境配置不会造成任何问题。