sql中时间的比较方法
--------------------------------------------------------------------
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
6. day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
7. select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,getdate())
,今天是周几=datename(weekday,getdate())
函数 参数/功能
GetDate( ) --返回系统目前的日期与时间
DateDiff (interval,date1,date2) --以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) --以interval指定的方式,加上number之后的日期
DatePart (interval,date) ---返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) --返回日期date中,interval指定部分所对应的字符串名称
参数 interval的设定值如下:
值 缩 写(Sql Server) Access 和 ASP 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似
举例:
1.GetDate() 用于sql server :select GetDate()
2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天
3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年
SQL Server DATEPART() 函数返回 SQLServer datetime 字段的一部分。
SQL Server DATEPART() 函数的语法是:
DATEPART(portion, datetime)
其中 datetime 是 SQLServer datetime 字段和部分的名称是下列之一: Ms for Milliseconds
Yy for Year
Qq for Quarter of the Year
Mm for Month
Dy for the Day of the Year
Dd for Day of the Month
Wk for Week
Dw for the Day of the Week
Hh for Hour
Mi for Minute
Ss for Second
--1.编写函数,实现按照'年月日,星期几,上午下午晚上'输出时间信息(2009年3月16日星期一下午)
select datename(yy,getdate()) + '年' +
datename(mm,getdate()) + '月' +
datename(dd,getdate()) + '日' +
datename(weekday,getdate()) +
case when datename(hh,getdate()) < 12 then '上午' else '下午' end
--2.编写函数,根据输入时间。输出该天是该年的第几天
select datepart(dy,getdate())
--3.求出随机输出字符‘a-z
select char(97+abs(checksum(newid()))%26)
select char(97+rand()*26)
注意:
ASP比较时间的SQL语句,其中d为天数!
access
select * from [table] where datediff('d',时间字段,Now())=0
--------------------------------------------------------------------------------
Sql Server
select * from [table] where datediff(d,时间字段,GetDate())=0
sql中时间的比较方法的更多相关文章
- SQL中Case的使用方法(上篇)(转)
http://www.cnblogs.com/fxgachiever/archive/2010/09/09/1822106.html Case具有两种格式.简单Case函数和Case搜索函数. --简 ...
- MyBatis中sql实现时间查询的方法
<if test="startTime != null and startTime !=''"> AND lTime >= #{startTime} </i ...
- SQL中的Convert()函数方法(转换数据格式)
Convert函数的使用方法 格式: convert(data_type(length),data_to_be_converted,style) data_type(length)转换的目标数据类型, ...
- SQL中exists的使用方法
EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False exists : 强调的是是否返回结果集,不要求知道返回什么, exists 与 in ...
- SQL中Case的使用方法(下篇)(转)
接上篇 四,根据条件有选择的UPDATE. 例,有如下更新条件 工资5000以上的职员,工资减少10% 工资在2000到4600之间的职员,工资增加15% 很容易考虑的是选择执行两次UPDATE语句, ...
- sql中时间的一些特殊转换
1.修改时间的秒和微秒 create table a (Dtime datetime);insert into aselect '2013-08-30 17:59:35' union allselec ...
- Sql中时间只取年或者年月
select Title,datepart(year,DateCreated) from CMS_Content 只取年 只显示年月,不显示日:select datepart(year,getd ...
- oracle和mysql在sql中生成uuid的方法
1,oracle sys_guid() 2,mysql uuid()
- 最简单删除SQL Server中所有数据的方法
最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间 ...
随机推荐
- Linux下vsftpd搭建过程(防火墙版)
1.确认主机IP [root@www data]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:22:05:B8 ...
- 使用awstats分析iis站点的日志
环境:win7 + iis7 + perl(ActivePerl-5.20.1.2000) + awstats 7.3 一.找到iis日志所在目录 建议全部都打勾 二.安装perl AWStats是p ...
- JAVA多线程学习3--线程一些方法
一.通过sleep方法睡眠 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行).该线程不丢失任何监视器的所属权. 二.线程优先级 线程具有优先级,范围为1-10. MAX_PRIORITY线程可以具 ...
- Windows 下 Composer 与 Laravel 4 的安装
1.安装Composer Composer是PHP的依附经管对象之一,官方网站 http://getcomposer.org/ .它支撑多种安装体式格式,对于在win下做开辟的草来说,最便捷的体式格式 ...
- c# 刻度:毫米 英寸 像素转换
从目前所掌握的资料来看,c#程序中将毫米转换像素的方法无非两种: 第一种: 1: /// <summary> 2: /// 以毫米为单位的显示宽度 3: /// </summary& ...
- DirectoryEntry配置IIS出现ADSI Error:未知错误(0x80005000)
目录 问题案例 原因分析 解决问题 总结 问题案例 DirectoryEntry配置IIS,在IIS6.0下运转正常,但IIS7.0下运转会出错: System.DirectoryServices.D ...
- C#中泛型和单链表
泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能.泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类 ...
- ASP.NET Core 行军记 -----拔营启程
ASP.NET MVC 6:https://docs.asp.net/en/latest/mvc/index.html ASP.NET Core :https://docs.asp.net/en/la ...
- Keil uVision4 代码编辑器中文字符乱码问题
MDK-ARM 使用中一直有个很纠结的问题,中文字符支持不好. 比如写代码注释,使用中文删除字符就会只删除一半问题.复制粘贴代码中间有中文就会出现乱码问题. 想过换IAR,新学个IDE也麻烦,上面的问 ...
- SQLserver利用系统时间生成“2015-11-30 00:00:00.000”类型的时间
select getdate() ---当前时间:2015-12-18 10:20:24.097 -------------------建立测试表 Create Table #Test ( ID IN ...