sql对于between和时间

在写时间条件 ,比如 把2014/3/1 到2014/3/31这个时间段做为条件 的话,很多人都会写成这样

select date from table where date between ‘2014/3/1‘ and ‘2014/3/31‘

其实这样查询出来的结果 是从2014/3/1 00:00:00  到 2014/3/31 00:00:00

那么 问题来了,要是其中正好有一条数据的时间在 ‘2014/3/31 11:12:12‘那样的话,会出现什么结果 呢?很明显的,这条数据 就会被忽略掉。所在在查询关于时间的时候 ,千万要记住 时: 分: 秒,

如查询三月份的数据正确的语句应该是

select date from table where date between ‘2014/3/1‘ and ‘2014/3/1 23:59:59’
时间: 2024-10-06 23:52:09

sql对于between和时间的相关文章

SQL Server 中的时间的加减和时间的比较

最近在写一个项目时,用到了时间的比较和时间的加减,在这里简单说一下,我也是刚接触数据库不久,如有说的不当之处望大家包涵,指正 一.时间的比较 开始的时候我比较时间用的是 Time>GETDATE() 简单粗暴 其实SQL Server有自带的时间比较函数,所以可以用它自带的,还安全也很方便 DATEDIFF(); 我参照的W3School 中对于DATEDIFF函数的解析,具体如下: 语法 DATEDIFF(datepart,startdate,enddate) 其中datepart是只你要比较

sql语句 关于日期时间、类型转换的东西

(一) 1, select update_date, CONVERT(VARCHAR(30),update_date,111) jj ,CONVERT(VARCHAR(30),update_date,8) aa from report_month   //update_date为datetime型,结果显示为: update_date                                     jj                          aa 2007-01-06 16:

ONLY三行脚本, SQL数据恢复到指定时间点

经常看到有人误删数据,或者误操作,特别是Update和Delete的时候没有加WHERE ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩. 话说,如果没有犯过错误,那你还算是搞程序的吗?!没了偶尔的心跳,注定一辈子的孤独啊,哈哈哈.... OK,书归正传,要分享一下我的当时的处理方案,与诸君共勉,欢迎吐槽,多多沟通. 遇到这种情况,一般都是没有做备份,或者备份不及时(比如,当时我公司的数据,就没有做实时备份,不过还好的是我25号数据误操作,组长也然在19号做了备份,万幸万幸哦!),不然也不会来发

SQL语句获取各种时间的方法

SQL语句获取各种时间的方法1. 当前系统日期.时间select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数.select datediff(day,'2004-09-01','2004-09-18') --返回:174. dat

SQL语句中格式化时间

to_char(CREATETIME,'yyyy-MM-dd') SQL语句中格式化时间

Sql Server中日期时间格式化为字符串输出

在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日期时间转字符串的相关知识,接下来就让我们一起来了解一下这部分内容. 日期时间转字符串: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1):

SQL Server 常用的时间处理函数

1.获取当前是时间 SELECT GetDate(); 2.获取时间中单独的年,月,日和时,分,秒 YEAR(GetDate())   当前时间的年部分 MONTH(GetDate()) 当前时间的月部分 DAY(GetDate())     当前时间的日部分 依次类推,上面几个函数是返回INT类型的值,下面这个返回NVARCHAR DATENAME( YEAR , GetDate() ) DATENAME( MONTH , GetDate() ) DATENAME( DAY , GetDate

SQL Server如何进行时间比较的代码

例子: datediff(dd,add_time,getdate()) not between 0 and 7 select count(*) from table where DATEDIFF ([second], '2004-09-18 00:00:18', '2004-09-18 00:00:19')  > 0 说明 select  DATEDIFF(day, time1 , time2)    对应示例语句如下 select  DATEDIFF(day, '2010-07-23 0:41

SQL Server 日期和时间函数

http://www.cnblogs.com/adandelion/archive/2006/11/08/554312.html 1.常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233') (1)DATENAME ( datepart ,date ) 返回表示指定日期的指定日期部分的字符串.Datepart详见下面的列表. SELECT DateName(day,Getdate()) –返回8 (2)DATEPART ( datepart , date

MySQL 动态sql语句执行 用时间做表名

1. 描述 在使用数据的时候,我时候我们需要很多数据库,而且想用时间来做表名以区分.但是MySQL在存储过程中不支持使用变量名来做表名或者列名. 比如,有一个表我们想以"2015-07-16 12:00:00"命名. 2. 解决方案 如果只是更换一个普通的表名的话,很简单,直接使用下面sql语句即可: alter table old_table_name rename new_table_name 但是要以时间为表名,动态命名的话就不可以了.首先我们可以用NOW()函数获取系统当前的时