Используя найденную функцию STRING_ESCAPE здесь Я экранирую некоторые столбцы со строковыми значениями, чтобы они соответствовали формату JSON. Однако, когда он применяется к URL-адресам, он ведет себя, на мой взгляд, странно.
SELECT STRING_ESCAPE('https://www.website.com/page', 'json')
возвращает https:\/\/www.website.com\/page
.
Я могу понять, что в соответствии с этот пост разрешает прямую косую черту, не требуется в JSON, и поэтому они включаются при использовании этой функции. Но если вы создаете тег HTML с этим значением (https:\/\/www.website.com\/page
), ссылка больше не работает, поскольку, по крайней мере, мой браузер пытается перейти на https://www.website.com//page
.
Поскольку я не знаю, содержит ли моя исходная строка \/
, я не могу просто использовать REPLACE(STRING_ESCAPE([column], 'json'), '\/', '/')
для решения этой проблемы.
Есть ли возможность отключить экранирование косой черты? Или любое другое умное решение этой проблемы?