开发者社区> 问答> 正文

mysql获取头部注释

例子如下: (1).如果sql是

/test sql/select age from user where name = 'xx';

,需要获取到的值是/test sql/; (2).如果sql是

/test sql/0.6.6///select age from user where name = 'xx'; ```,需要获取到的值是/*test sql/0.6.6//*/

原提问者GitHub用户gogaobin2

展开
收起
山海行 2023-07-05 21:36:08 69 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    MySQL中,头部注释是指在SQL语句的第一行使用/ /注释的内容。获取头部注释可以使用MySQL提供的SELECT语句和SUBSTRING_INDEX函数。

    具体来说,可以使用以下SQL语句获取头部注释:

    Copy
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(sql, '/', 1), '/', -1) AS comment
    FROM information_schema.processlist
    WHERE id = CONNECTION_ID();
    在这个SQL语句中,使用SUBSTRING_INDEX函数从information_schema.processlist系统表中获取当前连接的SQL语句,并提取其中的头部注释。其中,SUBSTRING_INDEX(sql, '/', 1)表示提取SQL语句中第一个/之前的部分,即头部注释;而SUBSTRING_INDEX(..., '/', -1)则表示从头部注释中提取最后一个/之后的内容,即头部注释的具体内容。

    2023-07-30 09:39:45
    赞同 展开评论 打赏
  • 现在就支持

    String sql = "/test sql/select age from user where name = 'xx';"; Lexer lexer = new MySqlLexer(sql); lexer.setKeepComments(true); lexer.nextToken(); List comments = lexer.readAndResetComments(); System.out.println(comments);

    原回答者GitHub用户wenshao

    2023-07-06 12:16:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像