Escape ≤ и ≥ в CMD и SQL - PullRequest
       15

Escape ≤ и ≥ в CMD и SQL

0 голосов
/ 20 февраля 2019

У меня есть процесс сборки, когда база данных генерируется из файла журнала изменений в библиотеки (который является файлом XML).Он генерирует сценарий SQL для базы данных SQL Server и сценарий SQL для базы данных Oracle.Теперь 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).

Есть ли какой-нибудь способ избежать и CMD, и SQL Server, который уже есть в моем XML-файле журнала изменений в liquibase?Извините, если я объяснил это сложным способом, но я не мог понять, как описать это проще.

...