zoukankan      html  css  js  c++  java
  • mysql日期函数及重复数据的查询

    -- 日期函数
    select CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,year(CURRENT_DATE),month(CURRENT_DATE);
    select * from sr_main where TIMESTAMPDIFF(DAY,SYS_CREATETIME,SYSDATE())>7 and SYS_SPZT <>1 ;

    获取上个月

    SELECT
    b.xalljgmc,
    b.xjgmc,
    substr(a.sys_xzqh, 1, 6) AS sys_xzqh
    FROM
    sr_main a,
    mz_xzjg b
    WHERE
    a.sys_xzqh = b.node_id
    AND mjzjsrq IS NOT NULL

    AND mjzjsrq <= CONVERT (
    date_format(
    (now() - INTERVAL 1 MONTH),
    '%Y-%m-%d'
    ) USING gbk
    )

    补充:

    select date_add('2018-06-26',INTERVAL '5' day);-- 2018-07-01
    select curdate();-- 2020-06-10
    select date_add(curdate(), INTERVAL 3 MONTH) -- 2020-09-10
    select DATE_FORMAT(
    date_add(curdate(), INTERVAL 3 MONTH),
    '%Y-%m-%d'
    ) -- 2020-09-10;

    UPDATE sr_main
    SET mjzjsrq = CASE
    WHEN mdblx = '2' THEN
    DATE_FORMAT(
    date_add(curdate(), INTERVAL 3 MONTH),
    '%Y-%m-%d'
    )
    ELSE
    DATE_FORMAT(
    date_add(curdate(), INTERVAL 1 YEAR),
    '%Y-%m-%d'
    )
    END
    WHERE
    pk_sr_main = '1000028382434168832';

    1.目标查出表中重复的身份证
    -- 以下为错误写法因为 where 后面不能用聚合函数
    select * from sr_main where mhzsfz in (
    select mhzsfz from sr_main where count(MHZSFZ)>1
    )
    -- 正确写法
    select * from sr_main where mhzsfz in (
    select mhzsfz from sr_main GROUP BY mhzsfz having count(mhzsfz)>1
    )

    1.目标查出表中重复的身份证且数据为2019年,单据类型为db_jz,时间为2019年
    select * from sr_main a where mhzsfz in (
    select mhzsfz from sr_main GROUP BY mhzsfz having count(mhzsfz)>1
    ) and SYS_CREATETIME like concat('2019','%') and INSTR('db_jz',a.mdjlx)>1;

  • 相关阅读:
    py-day2-4 python 集合
    LR_问题_控制器不能使用定义的负载生成器
    LR_问题_无法使用LR的Controller,提示缺少license
    LR_问题_在导入wsdl时出现parsing error
    class, extends和super es6语法
    格式化日期
    CLR
    【sqlserver】批量插入10万数据
    php正则表达式匹配函数
    css overflow
  • 原文地址:https://www.cnblogs.com/tongcc/p/12154008.html
Copyright © 2011-2022 走看看