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

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 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 存储 缓存
高基数 GroupBy 在 SLS SQL 中的查询加速
本文详细介绍了SLS中的高基数GroupBy查询加速技术。
|
6天前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
13 1
|
6天前
|
SQL 数据库 Java
HQL vs SQL:谁将统治数据库查询的未来?揭秘Hibernate的神秘力量!
【8月更文挑战第31天】Hibernate查询语言(HQL)是一种面向对象的查询语言,它模仿了SQL的语法,但操作对象为持久化类及其属性,而非数据库表和列。HQL具有类型安全、易于维护等优点,支持面向对象的高级特性,内置大量函数,可灵活处理查询结果。下面通过示例对比HQL与SQL,展示HQL在实际应用中的优势。例如,HQL查询“从员工表中筛选年龄大于30岁的员工”只需简单地表示为 `FROM Employee e WHERE e.age &gt; 30`,而在SQL中则需明确指定表名和列名。此外,HQL在处理关联查询时也更为直观易懂。然而,对于某些复杂的数据库操作,SQL仍有其独特优势。
13 0
|
6天前
|
SQL 关系型数据库 MySQL
|
6天前
|
API Java 数据库连接
从平凡到卓越:Hibernate Criteria API 让你的数据库查询瞬间高大上,彻底告别复杂SQL!
【8月更文挑战第31天】构建复杂查询是数据库应用开发中的常见需求。Hibernate 的 Criteria API 以其强大和灵活的特点,允许开发者以面向对象的方式构建查询逻辑,同时具备 SQL 的表达力。本文将介绍 Criteria API 的基本用法并通过示例展示其实际应用。此 API 通过 API 构建查询条件而非直接编写查询语句,提高了代码的可读性和安全性。无论是简单的条件过滤还是复杂的分页和连接查询,Criteria API 均能胜任,有助于提升开发效率和应用的健壮性。
|
6天前
|
Java UED 开发者
当错误遇上Struts 2:一场优雅的异常处理盛宴,如何让错误信息成为用户体验的救星?
【8月更文挑战第31天】在Web应用开发中,异常处理对确保用户体验和系统稳定性至关重要。Struts 2 提供了完善的异常处理机制,包括 `exception` 拦截器、`ActionSupport` 类以及 OGNL 表达式,帮助开发者优雅地捕获和展示错误信息。本文详细介绍了 Struts 2 的异常处理策略,涵盖拦截器配置、错误信息展示及自定义全局异常处理器的实现方法,使应用程序更加健壮和用户友好。
|
6天前
|
Java XML Maven
跨越时代的飞跃:Struts 2 升级秘籍——从旧版本无缝迁移到最新版,焕发应用新生!
【8月更文挑战第31天】随着软件技术的发展,Struts 2 框架也在不断更新。本文通过具体案例指导开发者如何从旧版平滑升级到 Struts 2.6.x。首先更新 `pom.xml` 中的依赖版本,并执行 `mvn clean install`。接着检查 `struts.xml` 配置,确保符合新版本要求,调整包扫描器等设置。审查 Action 类及其注解,检查配置文件中的弃用项及插件。更新自定义拦截器实现,并验证日志配置。最后,通过一系列测试确保升级后的系统正常运行。通过这些步骤,可以顺利完成 Struts 2 的版本升级,提升应用的安全性和性能。
23 0
|
22天前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
3月前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
|
3月前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
下一篇
DDNS