• MySQL和Oracle中,语法的不同点以及如何在xml中书写日期比较大小


    众所周知mysql和oracle的语法有点相识,又有点不同。

    在MySQL和Oracle中,语法的不同点有以下几个方面:

    1. 数据类型:MySQL和Oracle支持的数据类型有所不同,比如MySQL支持的数据类型包括:整型、浮点型、字符型、日期型、二进制型等,而Oracle则支持更为复杂的数据类型,包括对象型、XML型、数组型、嵌套表型等。

    2. 数据表创建:MySQL和Oracle创建数据表的语法也有所差别。比如,在MySQL中,可使用CREATE TABLE语句来创建数据表,而在Oracle中,创建数据表需要使用CREATE TABLE或CREATE GLOBAL TEMPORARY TABLE。

    3. SQL语法:MySQL和Oracle的SQL语法在一些方面也存在一些差异。例如,在MySQL中使用LEFT JOIN查询两个表间的数据,语法是:SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;而在Oracle中,LEFT JOIN要写成LEFT OUTER JOIN。

    4. 存储过程:MySQL和Oracle存储过程的语法也有所不同。在MySQL中,可使用CREATE PROCEDURE创建存储过程,而在Oracle中,则需要使用CREATE PROCEDURE或CREATE FUNCTION语句来创建存储过程。

    总的来说,MySQL和Oracle的语法虽然存在一些差异,但对于大多数SQL查询语句来说,不会造成太大的影响。
    就日期查询来说:

    
                and TO_CHAR(TRUNC(t.COMPLETE_TIME), 'yyyy-MM-dd') = TO_CHAR(#{completeTime,jdbcType=DATE}, 'yyyy-MM-dd')
            
    
    • 1
    • 2
    • 3

    时间语句比较需要转化成对应格式的字符串或者日期格式,才能比较大小。
    在Oracle中,可以使用XPath表达式和函数来比较XML中的日期。以下是一个示例:

    假设有以下XML文档:

    
    <items>
        <item>
            <name>Item 1name>
            <date>2020-01-01date>
        item>
        <item>
            <name>Item 2name>
            <date>2021-02-01date>
        item>
    items>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    要比较日期,可以使用如下XPath表达式:

    //item[date > '2020-12-31']
    
    • 1

    这个表达式会返回所有日期在2021年及以后的item元素。可以将这个表达式用作SQL查询的条件,例如:

    SELECT *
    FROM xml_table
    WHERE XMLExists('//item[date > "2020-12-31"]' PASSING xml_column)
    
    • 1
    • 2
    • 3

    这个查询会返回所有符合条件的XML文档行。

  • 相关阅读:
    iapp源码集锦
    CnOpenData学者长期科研服务陪伴计划启动!
    python笔记Ⅴ----元组、字典、集合
    iVX低代码平台系列详解 --界面功能(一)
    LD_LIBRARY_PATH 环境变量设置
    1.centos7安装docker
    关于Python爬虫兼职,这里有一条高效路径
    多线程锁-synchronized字节码分析
    rust输入输出
    Microolap DAC for MySQL驱动程序或其他库
  • 原文地址:https://blog.csdn.net/gradonisis/article/details/133417245