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 ;

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;

原文地址:https://www.cnblogs.com/tongcc/p/12154008.html

时间: 2024-11-05 23:24:21

mysql日期函数及重复数据的查询的相关文章

MySQL 删除数据库中重复数据(以部分数据为准)

delete from zqzrdp where tel  in (select min(dpxx_id) from  zqzrdp  group by tel  having count(tel)>1); 执行,报错 异常意为:你不能指定目标表的更新在FROM子句.傻了,MySQL 这样写,不行,让人郁闷. 难倒只能分步操作,蛋疼 以下是网友写的,同样是坑爹的代码,我机器上运行不了. 1. 查询需要删除的记录,会保留一条记录.  代码如下 复制代码 select a.id,a.subject,

sql Server 重复数据的查询,删除

业务需求 最近给公司做一个小工具,把某个数据库(数据源)的数据导进另一个数据(目标数据库).要求导入目标数据库的数据不能出现重复.但情况是数据源本身就有重复的数据.所以要先清除数据源数据. 于是就把关于重复数据的查询和处理总结一下.这里只可虑基于数据库解决方案.不考虑程序的实现. 环境为:SQL Server 2005和SQL Server 2005 基于数据库的解决方案 数据库测试表dbo.Member 一,带有having条件的分组查询方法 (1)查询某一列重复记录 语句: SELECT N

MYSQL 日期函数【转】

MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天). mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> select WEEKDAY('1

mysql 日期函数总结

1.0 格式化:DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的输出格式. 可以使用的格式有: 格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值

mysql 日期函数大全

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型. 这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table  WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date)  返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六).这些索引值对应于ODBC标准

MySQL日期函数、时间函数总结(MySQL 5.X)

获得当前日期时间函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now()               | +---------------------+ | 2015-11-10 13:36:55 | +---------------------+ 1 row in set (0.00 sec) 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:

MYSQL日期函数

#获得当前日期+时间(date + time)函数select now() #获得当前时间戳函数select current_timestamp, current_timestamp() #Date/Time to Str(日期/时间转换为字符串)函数select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') #字符串转换为日期函数select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-0

mysql 多字段删除重复数据,保留最小id数据

直接上sql:方法一: delete from Route where id in (select b.id from (select * from Route a where id<>(select min(id) from Route where payment_type=0 and point_start=a.point_start and point_end=a.point_end) )b); 问题:一张route表.现在需要删除,payment_type=0 ,并且point_sta

mysql日期函数及批量循环返回主键ID

实际项目中总是会遇到各种时间计算查询等等许多时候是特别麻烦前阵子公司有个需求大致是要查询当前日期与数据库存储日期之差,本来写了个工具类调用的但是最后觉得这样不好就想着能不能用函数解决,没想到还真有这里分享下,sql如下: select datediff('2017-04-21',(select now())) as days;日期相减得到天数,简单吧,获取当前日期其实也是有函数的,但是有的mysql版本不支持具体各位自己尝试,还有一个就是日期格式查询处理也很简单DATE_FORMAT(