做一个项目的时候经常会遇到各种各样的时间问题需要处理,有些函数经常会忘记,翻阅一些资料,加上自己的需求,简单的总结记忆一下基础知识,方便以后使用

一.convert函数

简单用法:

  1. 查询某天的数据
  2. 非:PublishTime=@PublishTime
  3. 而应:select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime

分析:比如为@PubilishTime提供参数‘2011-04-18’,经过抓花之后,实际上相当于查询PubilishTime=2011-04-18 00:00:00 ,从而不会得出真实的当天数据。

注:convert一般用的也比较少,因为一般的时候时间列都建立有非聚集索引,convert函数会使数据库认为放弃按照时间索引的方式进行数据查询,在一些数据量非常大的数据表里,这种查询是非常影响性能的。

时间的一些转换格式:

  1. select Convert(varchar(10),getdate(),120)
  2. 2011-05-12
  3. select CONVERT(varchar, getdate(), 120 )
  4. 2011-05-12 11:06:08
  5. select replace(replace(replace(CONVERT(varchar, getdate(),
  6. select CONVERT(varchar(12) , getdate(), 111 )
  7. 2011/05/12
  8. select CONVERT(varchar(12) , getdate(), 112 )
  9. 20110512
  10. select CONVERT(varchar(12) , getdate(), 102 )
  11. 2011.05.12
  12. select CONVERT(varchar(12) , getdate(), 103 )
  13. 12/09/2004
  14. select CONVERT(varchar(12) , getdate(), 104 )
  15. 12.05.2011
  16. select CONVERT(varchar(12) , getdate(), 105 )
  17. 12-05-2011
  18. select CONVERT(varchar(12) , getdate(), 106 )
  19. 12 05 2011
  20. select CONVERT(varchar(12) , getdate(), 108 )
  21. 11:06:08
  22. select CONVERT(varchar(12) , getdate(), 110 )
  23. 09-12-2011

二。简单一些函数

(1)查询年.月.日

  1. select year(getdate())--年
  2. select month(getdate())--月
  3. select day(getdate())--日

(2)查询每周的数据

  1. SELECT * FROM HW_SRDH WHERE datediff(week,SRSJ,getdate())=0 --本周数据
  2. SELECT * FROM HW_SRDH WHERE datediff(week,SRSJ,getdate())=1 --上周数据

(3)日期加法

  1. select dateadd(month,2,getdate()) --加两月
  2. select dateadd(day,2,getdate())  --加两天

(4)查询两端日期之间的天数

  1. select datediff(day,'2011-09-01','2011-09-18')

(5)得到一个日期的年份

  1. SELECT DATEPART(year, '2004-10-15')

(6)返回平年还是闰年

  1. SELECT
  2. case
  3. day(dateadd(mm,  2,  dateadd(ms,-3,DATEADD(yy,  DATEDIFF(yy,0,getdate()),  0))))
  4. when  28
  5. then  '平年'
  6. else  '闰年'
  7. end

(7)返回指定日期是星期几。

  1. SELECT datename(weekday,  getdate())

(8)返回当前日期是当年第多少周

  1. select 本年第多少周=datename(week, getdate())

(9)

  1. --1.一个月第一天的
  2. SELECT   DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0)
  3. --2.本周的星期一
  4. SELECT   DATEADD(wk,   DATEDIFF(wk,0,getdate()),   0)
  5. select   dateadd(wk,datediff(wk,0,getdate()),6)
  6. --3.一年的第一天
  7. SELECT   DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0)
  8. --4.季度的第一天
  9. SELECT   DATEADD(qq,   DATEDIFF(qq,0,getdate()),   0)

转载于:https://blog.51cto.com/1890146/547847

sql时间小问题汇总相关推荐

  1. php 预处理 防注入,PHP防止sql注入小技巧之sql预处理原理与实现方法分析

    本文实例讲述了PHP防止sql注入小技巧之sql预处理原理与实现方法.分享给大家供大家参考,具体如下: 我们可以把sql预处理看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制. ...

  2. alias常见小问题汇总20例

    alias常见小问题汇总20例 1.alias里的各种物体怎么对齐? 使用一条线(或是格点)和PIVOT来搬移对象对齐即可 ALIAS不像RHINO等其它软件提供某些快速的ICON指令 不过他强大的编 ...

  3. oracle ebs form 计算 汇总公式,Oracle+EBS+Form开发小技巧汇总

    oracle form开发的技巧 content Oracle EBS Form开发小技巧汇总 ..................................... 2 Form中Block的重 ...

  4. linux高可用小知识点汇总-行云管家

    不少运维小伙伴对于linux高可用相关知识不是很了解,今天我们小编就给大家汇总了一些,希望可以加深大家的了解.仅供参考哦! linux高可用小知识点汇总-行云管家 一.Linux是什么系统? [回答] ...

  5. 电脑知识 小技巧汇总

    小技巧汇总 我综合了网上的有关软件应用的小巧和自己的几个,希望对大家有用,如果你有更好的请跟帖子大家共分享!有关注册表修改的,请先备份注册表! 1. 影音文件在xp中无法删除 很多情况下是因为预览功能 ...

  6. Hive SQL时间函数及用法

    Hive SQL时间函数 当前官方提供的日期函数共27个,内容如下: 1. 获取当前系统时间 函数: current_timestamp 返回值:timestamp 返回查询计算开始时的当前时间戳(从 ...

  7. python tkinter 小部件汇总

    tkinter 小部件汇总,自己总结的.备用. # !/usr/bin/env python # -*- coding:utf-8 -*- # 随波逐流:tkinter 小部件汇总from tkint ...

  8. 绝地求生8月7号服务器维修吗,绝地求生8月7日更新时间更新内容汇总 绝地求生吃鸡8.7更新维护公告一览...

    原标题:绝地求生8月7日更新时间更新内容汇总 绝地求生吃鸡8.7更新维护公告一览 绝地求生在2019年8月7日进行了无停机维护,本次维护的内容是优化服务器以及修复BUG,大家知道具体的更新内容吗?下面 ...

  9. 数据库 SQL 时间处理函数 获取指定或最近期时间范围内 日期 月份 年份 列表

    1.Oracle  Oracle sql 获取 时间 https://blog.csdn.net/rexueqingchun/article/details/83412131 原 Oracle查询今天 ...

最新文章

  1. cat6 万兆_cat6 万兆
  2. int是python的内置函数吗_Python内置int函数详细介绍
  3. 添加游戏到游戏浏览器中的小工具
  4. 模态框分页java代码_ajax分页效果(bootstrap模态框)
  5. python在线学习直播-一对多直播系统开发,百万用户在线,直播弹幕系统是如何实现的?...
  6. python中response对象的属性_关于python:AttributeError:’HTTPResponse’对象没有属性’split’...
  7. springboot 文件上传大小配置
  8. 【贪心算法】跳跃游戏
  9. 洛谷 P5602 小E与美食 (尚贤)
  10. html中的reset(重置)按钮
  11. 为什么要发布海外新闻稿,海外稿件怎么写
  12. 地下城与勇士(DNF)安图恩副本(黑雾之源、震颤的大地、舰炮防御战、擎天之柱、能量阻截战、黑色火山、安徒恩的心脏)(童年的回忆)
  13. 案例:恒丰银行——大数据实时流处理平台
  14. 在PS中如何设计个人logo
  15. Caused by: java.lang.NoSuchMethodError
  16. android手机管理器在哪里打开,小米手机任务管理器在哪?怎么打开?
  17. 论学习和工作的最大区别
  18. p站自动收藏画作 post请求,request payload
  19. itext给已有pdf添加页眉页脚
  20. 3.云计算基础篇---云计算优势

热门文章

  1. .net程序员写业务代码需要注意的地方
  2. android开发学习 ------- json数据与实体类之间的相互转换
  3. Linux内核project导论——网络:Netfilter概览
  4. 网络请求(HTTP协议)小结
  5. 如何 配置apache 读取php模块中的 配置文件
  6. RedHat Linux 9.0 操作系统测试题2
  7. 做手好菜,骗个好女孩做女朋友(一)
  8. C++ Hash表模板
  9. MySQL之级联删除、级联更新、级联置空
  10. 「一本通 4.1 例 3」校门外的树 (loj10115)