[20210312]如何取整月日期.txt

来源:这里教程网 时间:2026-03-03 16:31:38 作者:

[20210312]如何取整月日期.txt --//今天检查数据库,发现开发写的sql语句如下: --//sql_id = 24fvg57jhzp6t SELECT TO_CHAR (XXXXXX_YYY.BJBC_MZZZRS_XH.BEGINTIME, :"SYS_B_0")       ,XXXXXX_YYY.BJBC_MZZZRS_XH.DEPT_NAME       ,XXXXXX_YYY.BJBC_MZZZRS_XH.DEPT_CODE       ,XXXXXX_YYY.BJBC_MZZZRS_XH.DOCTOR_NAME       ,XXXXXX_YYY.BJBC_MZZZRS_XH.DOCTOR_CODE       ,XXXXXX_YYY.BJBC_MZZZRS_XH.BEGINTIME   FROM XXXXXX_YYY.BJBC_MZZZRS_XH  WHERE TO_CHAR (XXXXXX_YYY.BJBC_MZZZRS_XH.BEGINTIME, :"SYS_B_1") = :"SYS_B_2" > @bind_cap_awr 24fvg57jhzp6t '' @bind_cap_awr sql_id [column] no rows selected    SNAP_ID INSTANCE_NUMBER SQL_ID        WAS LAST_CAPTURED       NAME       POSITION MAX_LENGTH DATATYPE_STRING VALUE_STRING ---------- --------------- ------------- --- ------------------- ---------- -------- ---------- --------------- ------------      52727               1 24fvg57jhzp6t YES 2021-02-01 17:41:12 :SYS_B_1          2         32 VARCHAR2(32)    yyyy-mm                          1                                       :SYS_B_2          3         32 VARCHAR2(32)    2021-01      52888               1 24fvg57jhzp6t YES 2021-02-08 10:28:52 :SYS_B_1          2         32 VARCHAR2(32)    yyyy-mm                          1                                       :SYS_B_2          3         32 VARCHAR2(32)    2021-01      53297               1 24fvg57jhzp6t YES 2021-02-25 11:41:57 :SYS_B_1          2         32 VARCHAR2(32)    yyyy-mm                          1                                       :SYS_B_2          3         32 VARCHAR2(32)    2021-01      53559               1 24fvg57jhzp6t YES 2021-03-08 09:49:39 :SYS_B_1          2         32 VARCHAR2(32)    yyyy-mm                          1                                       :SYS_B_2          3         32 VARCHAR2(32)    2021-02      53563               1 24fvg57jhzp6t YES 2021-03-08 13:20:59 :SYS_B_1          2         32 VARCHAR2(32)    yyyy-mm                          1                                       :SYS_B_2          3         32 VARCHAR2(32)    2021-02      53568               1 24fvg57jhzp6t YES 2021-03-08 18:13:40 :SYS_B_1          2         32 VARCHAR2(32)    yyyy-mm                          1                                       :SYS_B_2          3         32 VARCHAR2(32)    2021-02 12 rows selected. --//很明显这个是做统计报表的语句,类似的语句1大堆。平时并怎么不执行,实际上面的索引都是存在的。 --//BJBC_MZZZRS_XH 是一个复杂视图。大量的业务时间段跑这样语句,硬件不好自然有点慢是正常的情况。 --//探究如何输入2021-02字符串转换为整月的日期。 SCOTT@book> @ ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 2.测试: SCOTT@book> select to_date('2021-02','yyyy-mm') c1  from dual ; C1 ------------------- 2021-02-01 00:00:00 --//月头很好确定,月尾呢 SCOTT@book> select ADD_MONTHS(to_date('2021-02','yyyy-mm'),1) c1  from dual ; C1 ------------------- 2021-03-01 00:00:00 SCOTT@book> select ADD_MONTHS(to_date('2021-12','yyyy-mm'),1) c1  from dual ; C1 ------------------- 2022-01-01 00:00:00 --//不是很简单吗?真心不知道复杂在哪里,真心劝一些开发好好看书,不要这么随着性子写SQL语句。

相关推荐