我有一个构建过程,其中从liquibase changelog文件(它是XML文件)生成数据库。它为SQL Server数据库生成一个SQL脚本,为Oracle数据库生成一个SQL脚本。现在,构建过程中的CMD遇到了≤
和≥
的问题,并且SQL Server也遇到了≤
和≥
的问题
例如,这是我的liquibase更改日志文件中的一条语句
<update tableName="MAI_THRESHOLD_DEF">
<column name="MAI_RSLT_NAME" value="PTB Ratio"/>
<column name="CURRENT_UNIT" value="Ratio (0 ≤ Decimal ≤ 1)"/>
<where>MAI_RSLT_REF = 'PT' AND MAI_ID = '5023'</where>
</update>
在我的构建过程的cmd中,它看起来像这样:Ratio (0 ≤ Decimal ≤ 1)
。
尽管在通过构建过程创建的我的SQL脚本中,它还是正确生成的:
UPDATE [MAI_THRESHOLD_DEF]
SET [CURRENT_UNIT] = N'Ratio (0 ≤ Decimal ≤ 1)', [MAI_RSLT_NAME] = 'PTB Ratio'
WHERE MAI_RSLT_REF = 'PT' AND MAI_ID = '5023'
GO
但是,由于构建过程已经通过CMD构建数据库,因此它已更新为我数据库中的Ratio (0 ≤ Decimal ≤ 1)
。现在,即使我逃脱了,我仍然必须对SQL Server进行转义,因为≤
和≥
也必须对SQL Server进行另一种转义,否则它将更新为Ratio (0 = Decimal = 1)
而不是Ratio (0 ≤ Decimal ≤ 1)
。
在我的liquibase changelog xml文件中,是否有任何方法可以逃避CMD和SQL Server?抱歉,如果我用复杂的方式解释它,但我想不出如何轻松地描述它。