单引号字符和管道符号代表什么

What does single quote character and pipe symbol stand for

考虑以下 sql-查询:

SELECT 'delete from TABLE_1 TABLE_1.ID =''' || v.id || ''';'
from TABLE_2 v where v.ID in (select id from TABLE_1);

你怎么读这个语法?

单引号字符 (') 开始和结束一个字符串。

双竖线符号 (||) 连接字符串。

根据一些评论 ||,不适用于 MySQL。

现在,您的语句甚至包含三引号字符 (''')。这是因为为了在(带引号的)字符串中包含单引号字符,它需要被另一个(前面的)单引号字符转义。

所以:'foo'是字符串foo'bar' || ' ' || baz是字符串bar bazIt''s ok是字符串没问题.

你问题中的select语句returns结果集由一列组成,其数据类型为字符串。这些字符串看起来像这样:

delete from TABLE_1 TABLE_1.ID ='ABCD';
delete from TABLE_1 TABLE_1.ID ='DEFG';

ABCDDEFG ... 是 v.id 的值(即 table_2 列 ID)。

看起来您的 select 语句用于生成删除语句,而删除语句又必须以某种方式成为 运行。当然,由于 WHERE 缺失,那些创建的语句将不会执行。