sql语句如何删除一段时间内的记录

数据库表内有 2008年01月01日一直到12月31日的记录,请问如何用 SQL语句删除2008年一整年的记录,是否使用between语句?

1、使用BETWEEN关键字根据时间字段删除一定时间内的记录

DELETE FROM 表名 WHERE 时间字段 BETWEEN 开始时间 AND 结束时间

示例:

DELETE FROM tb WHERE CreateTime BETWEEN '2017-01-01 00:00:00' AND '2017-02-01 00:00:00'
--删除tb表中2017年1月1日到2017年2月1日的数据

2、使用时间字段比较大小来确定删除范围

--语法:
DELETE FROM 表名 WHERE 时间字段>=开始时间 AND 时间字段<=结束时间

示例:

DELETE FROM tb WHERE CreateTime>='2017-01-01 00:00:00' AND CreateTime<='2017-02-01 00:00:00'

3、结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;

4、sql 语句就是对数据库进行操作的一种语言。

5、记录筛选

sql="select * from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列。默认升序ASC)

sql="select * from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"

sql="select top 10 * from 数据表 where字段名=字段值 order by 字段名 [desc]"

sql="select top 10 * from 数据表 order by 字段名 [desc]"

sql="select * from 数据表 where字段名in ('值1','值2','值3')"

sql="select * from 数据表 where字段名between 值1 and 值2"

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-25

删除一段时间内的记录,关键在于删除时筛选条件确定删除范围,数据表中最好是有一个表示时间的字段,根据该时间字段进行时间段的条件判断,进而执行删除

1、使用BETWEEN关键字根据时间字段删除一定时间内的记录

DELETE FROM 表名 WHERE 时间字段 BETWEEN 开始时间 AND 结束时间

示例:

DELETE FROM tb WHERE CreateTime BETWEEN '2017-01-01 00:00:00' AND '2017-02-01 00:00:00'
--删除tb表中2017年1月1日到2017年2月1日的数据

2、使用时间字段比较大小来确定删除范围

--语法:
DELETE FROM 表名 WHERE 时间字段>=开始时间 AND 时间字段<=结束时间

示例:

DELETE FROM tb WHERE CreateTime>='2017-01-01 00:00:00' AND CreateTime<='2017-02-01 00:00:00'

第2个回答  2013-07-19
方法1:delete from table where convert(varchar(4),datetime,112) = '2008'方法2:delete from table where dateTime >= '2008-01-01' and dateTime <= '2008-12-31' 如果你的数据库字段类型不是日期型的,那么datetime要用convert()函数转换!~
第3个回答  2017-07-14

使用SQL语句删除某时间段内的数据:

    首先,表内需要存在一个时间的字段,如数据的创建时间;那么我们就可以根据这个创建时间来进行对数据的删除。

    以创建时间字段名称为CreatedTime为例,我们要删除2016年9月1日 16点 到 2016年9月2日 16点之间的数据;

    SQL语句:

    DELETE FROM dbo.表名称 WHERE CreatedTime>='2016-09-01 16:09:39' AND CreatedTime<='2016-09-02 16:09:39'

第4个回答  2013-07-19
delete from table where dateTime > '2008-01-01' and dateTime < '2008-12-31'