XML动态sql查询当前时间之前的信息报错

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: XML动态sql查询当前时间之前的信息报错

  image.gif 编辑

image.gif 编辑

如图,sql语句在数据库里可以正常运行但是再XML文件不可以正常运行,报错。

原因:在XML中小于号"<"是会被默认认定成文一个标签的开始,所以用小于号就会报错。

解决办法:

1.把表达式反过来改成大于号

2.用<![CDATA[ ]]>包起来,就不会被认定成为标签

  <![CDATA[

         AND (stt.class_date + stt.class_start_time::interval < CURRENT_TIMESTAMP

        OR (stt.class_date < CURRENT_DATE AND stt.class_start_time = '00:00:00'::time))

       ]]>

在这里我就展示一下用<![CDATA[ ]]>包起来的写法

       SELECT

           stt.id,stt.class_date,stt.class_start_time,stt.class_end_time,

           (SELECT COUNT(*) FROM study_time_table_study_student sttss2 WHERE sttss2.study_time_table_id = stt.id AND sttss2.used_status = 1) AS actual_num,

--         stt.actual_num,

           htm.teacher_name,htm.id as teacher_name_id,

           tcm.class_name,tcm.class_type,tcoum.course_name,tcoum.id as course_name_id,stt.study_course_id,

           sttss.study_student_id as student_id,ss.sts_student_name,ss.sts_phone

       FROM study_time_table stt

                JOIN

            teach_class_manage tcm ON tcm.id = stt.study_class_id

                JOIN

            teach_course_manage tcoum ON tcoum.id = stt.study_course_id

                JOIN

            hr_teacher_manage htm ON htm.id = stt.hr_teacher_id

                LEFT JOIN

            study_time_table_study_student sttss ON stt.id = sttss.study_time_table_id

                JOIN

            study_student ss ON ss.id  = sttss.study_student_id

       where 1=1 AND stt.deleted = 0

         AND sttss.used_status = 0

       <![CDATA[

         AND (stt.class_date + stt.class_start_time::interval < CURRENT_TIMESTAMP

        OR (stt.class_date < CURRENT_DATE AND stt.class_start_time = '00:00:00'::time))

       ]]>

 

image.gif 编辑


目录
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
这样的SQL执行为什么不会报错?optimizer_trace深度历险
【10月更文挑战第12天】本文探讨了一条看似错误但实际上能成功执行的SQL语句,通过开启MySQL的优化器追踪功能,详细分析了SQL的执行过程,揭示了子查询被优化器解析为连接操作的原因,最终解释了为何该SQL不会报错。文章不仅增进了对SQL优化机制的理解,也展示了如何利用优化器追踪解决实际问题。
|
10天前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
22天前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
75 10
|
16天前
|
SQL 关系型数据库 MySQL
|
29天前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
|
1月前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
25天前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
31 0
|
1月前
|
SQL 数据可视化 BI
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色
|
1月前
|
SQL 监控 关系型数据库
使用SQL语句查询操作耗时的技巧与方法
在数据库管理和优化过程中,了解SQL查询操作的耗时是至关重要的
|
1月前
|
SQL
创建分组总计查询的SQL技巧与方法
在SQL中,创建分组总计查询(也称为聚合查询)是一项非常基础且重要的技能
下一篇
无影云桌面