如何在 Sybase 中转义单引号

Posted

技术标签:

【中文标题】如何在 Sybase 中转义单引号【英文标题】:How to escape single quotes in Sybase 【发布时间】:2012-09-13 18:05:28 【问题描述】:

我来自 mysql,以下查询在 Sybase 中不起作用。我应该如何转义单引号?

UPDATE Animals SET NAME = 'Dog\'s friends' WHERE uid = 12

【问题讨论】:

【参考方案1】:

如果使用 Sybase,已经习惯了更多数据库用户体验过的 MySQL,您可能很快就会发现您无法使用反斜杠转义单引号。

那么如何在 Sybase 中转义引号?事实上,在 Sybase SQL 中,单引号充当转义字符。

有关两种“语言”的示例 UPDATE 语句,请参见下文:

MySQL

UPDATE Animals SET NAME = 'Dog\'s friends' WHERE uid = 12

Sybase

UPDATE Animals SET NAME = 'Dog''s friends' WHERE uid = 12

我不完全确定这对我来说是否有意义(尤其是因为它看起来像双引号)但是你去吧!

【讨论】:

使用两个单引号来转义一个是 SQL 标准,基本上所有 DBMS 都支持(即使 MySQL 配置为像普通 DBMS 一样) 从 MySQL 转到合适的数据库时,您会发现很多新东西。 :) 有没有更好的解决方案,比如'''''''' 谢谢。你拯救了我的一天【参考方案2】:

您可以创建一个自定义函数来转义引号:

CREATE FUNCTION "ESCAPE_QUOTES"(in a_string long varchar) 
returns long varchar
begin
  return replace(a_string, '''', '''''');
end

【讨论】:

以上是关于如何在 Sybase 中转义单引号的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中转义单引号 ( ' )? [复制]

如何在 MySQL 中转义单引号

如何在单引号字符串中转义单引号

如何在 CSS 中转义单引号或双引号?

如何在jQuery变量中转义单引号

如何在 Bash/Grep 中转义单引号?