当前位置:  数据库>sqlserver

sql server有关时间的记录查询的例子

    来源: 互联网  发布时间:2014-08-29

    本文导语:  sql server有关时间的记录查询的例子,有需要的朋友可以参考下。 SQL 查询当天,本月,本周的记录 SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY dateandtime DESC 本月记录 SELECT * FROM 表 WHERE datediff...

sql server有关时间的记录查询的例子,有需要的朋友可以参考下。

SQL 查询当天,本月,本周的记录
SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY dateandtime DESC

本月记录
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

本周记录
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

当天记录
SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0

sql server中的时间函数

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)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')
       ,今天是周几=datename(weekday,'2004-10-15')

函数 参数/功能 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 查询本周本月问题
---求相差天数 
select   datediff(day,'2004-01-01',getdate())     
   
--1.一个月第一天的 
SELECT   DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0) 
   
--2.本周的星期一 
SELECT   DATEADD(wk,   DATEDIFF(wk,0,getdate()),   0) 
   
select   dateadd(wk,datediff(wk,0,getdate()),6) 
--3.一年的第一天 
SELECT   DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0) 
   
--4.季度的第一天 
SELECT   DATEADD(qq,   DATEDIFF(qq,0,getdate()),   0) 
   
--5.当天的半夜 
SELECT   DATEADD(dd,   DATEDIFF(dd,0,getdate()),   0) 
   
--6.上个月的最后一天 
SELECT   dateadd(ms,-3,DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0)) 
   
--7.去年的最后一天 
SELECT   dateadd(ms,-3,DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0)) 
   
--8.本月的最后一天 
SELECT   dateadd(ms,-3,DATEADD(mm,   DATEDIFF(m,0,getdate())+1,   0)) 
   
--9.本年的最后一天 
SELECT   dateadd(ms,-3,DATEADD(yy,   DATEDIFF(yy,0,getdate())+1,   0)) 
   
--10.本月的第一个星期一 
select   DATEADD(wk, 
DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),   0)

--查询本周注册人数 
select   count(*)   from   [user] 
where   datediff(week,create_day-1,getdate())=0 
   
--上周注册人数 
select   count(*)   from   [user] 
where   datediff(week,create_day-1,getdate())=1 
   
--本月注册人数 
select   count(*)   from   [user] 
where   datediff(month,create_day,getdate())=0 
   
--上月注册人数 
select   count(*)   from   [user] 
where   datediff(month,create_day,getdate())=1 
 
--如果要效率,这样写查询 
   
--查询本周注册人数 
select   count(*)   from   [user] 
where   create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 
and   create_day=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 
and   create_day=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)) 
and   create_day=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) 
and   create_day


    
 
 

您可能感兴趣的文章:

  • sql server简单查询的例子(sql入门)
  • sql server 使用ntile获取数据的例子
  • Sql Server一次更新多列数据的例子
  • SQL SERVER导入、导出文本文件的例子
  • SqlServer中用exec处理sql字符串中含有变量的小例子
  • sql语句提取括号中文字的例子
  • 我急需一个JSP+sql2000编写的论坛,哪位能提供一个完整的例子,不胜感激----在线等待
  • sql自连接查询的例子(图文)
  • sql2005递归查询的例子
  • 拼接SQL字符串与日期模糊查询的例子
  • Sql Server 删除主键与重建主键的例子
  • Sql Server 数据纵列转横列的例子
  • SQL分组统计简单例子
  • sql 插入单引号、添加、删除字段的例子
  • sql 游标的使用—游标FOR循环小例子
  • 用t-sql语句完整备份数据库的例子
  • sql server日期格式化处理的例子
  • sql union查询与排序的例子
  • sql通配符三个例子
  • sql server 跨服务器查询的例子
  • 有关sql server的排序问题
  • 有关sql server 2008 数据库自动备份作业的权限问题
  • 有关sql server中的自旋锁
  • 有关sql server条件语句之IF应用实例
  • 有关SQL条件判断语句的二个例子
  • 有关sql server中isnull的问题
  • 有关sql server中千万级数据的like问题分析
  • 有关java.sql.ResultSet 利用SetDate往 oracle 中插入时间和日期的问题!!
  • 各位高手请多多帮忙,公司要的实在太紧,有关Jsp+servlet+ejb+sql的问题。高分
  • 有关SQL Server SA权限问题的小结
  • SQL Server误区30日谈 第23天 有关锁升级的误区
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • SQL Server统计SQL语句执行时间的脚本
  • SQL Server 中查看SQL句子执行所用的时间
  • SQL Server本地时间和UTC时间的相互转换实现代码
  • 了解 sql server 语句的执行时间
  • sql计算时间差
  • 根据时间范围条件查询数据sql语句
  • 获取SQL Server2014的安装时间
  • 返回SQL执行时间的存储过程
  • jsp中sql语句执行时间太长,用浏览器打开时,页面超时,如何处理?
  • oracle中得到一条SQL语句的执行时间的两种方式
  • java 中如何用SQL 查时间区间???急!!!!!
  • 如何获得系统时间,类型为java.sql.Timestamp
  • sql语句中,怎样进行两个日期的时间差,用秒数表示??
  • 在ADF中跟踪SQL执行时间实现代码
  • 怎样把String转换成int?怎样获得系统时间并转换成java.sql.date类型?
  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
  • 在jsp中,如何来提取sql7.0中的时间字段,急急!!!!
  • SQL 时间类型的模糊查询
  • 一些关于c#与Sql的时间的操作
  • 经典sql代码--有小时、分钟,求平均工作时间
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3