代码之家  ›  专栏  ›  技术社区  ›  GC_

Mysql连续3个单引号

  •  1
  • GC_  · 技术社区  · 7 年前

    我遇到了下面的查询,它使用Mysql将行动态转换为列。有人知道这三个单引号之前是做什么的吗;在Product\u Name字段之后?

      SET @sql = NULL;
       SELECT
      GROUP_CONCAT(DISTINCT
        CONCAT(
          'count(case when Product_Name = ''',
          Product_Name,
          ''' then 1 end) AS ',
          replace(Product_Name, ' ', '')
        )
      ) INTO @sql
    from products;
    
    SET @sql = CONCAT('SELECT pt.partner_name, ', @sql, ' from partners pt
    left join sales s
      on pt.part_id = s.partner_id
    left join products pd
      on s.product_id = pd.prod_id
    group by pt.partner_name');
    
    PREPARE stmt FROM @sql;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Bill Karwin    7 年前

    https://dev.mysql.com/doc/refman/5.7/en/string-literals.html 说:

    ' 在带引号的字符串内 可以写成 ''

    手册上有很多例子。