SQLServer 日期函数大全 SQLServer 时间函数大全
原文地址:https://www.cnblogs.com/zhangpengnike/p/6122588.html
一、统计语句
1、--统计当前【>当天00点以后的数据】
SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC
2、--统计本周
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0
3、--统计本月
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
4、统计当前
SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0
Select * From table with(nolock) Where Convert(varchar(10),[CreateTime],120) = Convert(varchar(10),getDate(),120)
二、时间函数
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),
select 当前时间=convert(varchar(8),getdate(),114),
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15'),
select 今天是周几=datename(weekday,'2004-10-15')
7、求相差天数
select datediff(day,'2004-01-01',getdate())
8、一个月第一天的
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
9、本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
select dateadd(wk,datediff(wk,0,getdate()),6)
10、一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
11、季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
12、当天的半夜
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
13、上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
14、去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
15、本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
16、本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
17、本月的第一个星期一
select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
系统函数:
| 函数 | 参数/功能 |
| 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 | 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中,这些函数的用法也类似
SQLServer 日期函数大全 SQLServer 时间函数大全的更多相关文章
- SQL 必备- ORACLE-SQSLSERVER-DB2时间函数及常见函数总结
SQLSERVER 篇: 一.时间函数 --getdate 获取当前时间 select getdate() --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月 ...
- PLSQL常用时间函数
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- mysql 函数 时间函数,数学函数,字符串函数,条件判断函数
=========================================== mysql 相关函数 ============================================= ...
- windows时间函数
介绍 我们在衡量一个函数运行时间,或者判断一个算法的时间效率,或者在程序中我们需要一个定时器,定时执 行一个特定的操作,比如在多媒体中,比如在游戏中等,都会用到时间函数.还比如我们通过记 ...
- SQLServer 日期函数大全
一.统计语句 1.--统计当前[>当天00点以后的数据] ) ) ORDER BY dateandtime DESC 2.--统计本周 3.--统计本月 4.统计当前 SELECT * FROM ...
- sqlserver日期函数大全
一,统计语句 1, - 统计当前[>当天00点以后的数据] SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT ...
- Oracle日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...
- MySQL日期时间函数大全(转)
MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...
- 【转】MySQL日期时间函数大全
MySQL日期时间函数大全 1.DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK( ...
随机推荐
- 系统管理员常用的Linux命令
整理Linux的一些基本系统管理命令作为备忘 ========================================================================= 查看文 ...
- Eth-Trunk链路聚合配置
Eth-Trunk概述 Eth-Trunk接口能够实现负载分担.增加带宽和提高可靠性 Eth-Trunk接口把多个物理接口捆绑成一个逻辑接口 Eth-Trunk接口的链路聚合模式 链路聚合模式 应用场 ...
- luogu P1502 窗口的星星
题目链接 P1502 窗口的星星 题解 扫描线+线段树 线段树的每一个节点处理的是左边框放在当前x-1位置时的框内星星的亮度大小 按照x坐标进行离散化,得到离散化后每一个坐标x的可影响的范围 维护扫描 ...
- Codeforces.835E.The penguin's game(交互 按位统计 二分)
题目链接 \(Description\) 有一个长为\(n\)的序列,其中有两个元素为\(y\),其余全为\(x\).你可以进行\(19\)次询问,每次询问你给出一个下标集合,交互库会返回这些元素的异 ...
- BZOJ.2806.[CTSC2012]Cheat(广义后缀自动机 DP 单调队列)
题目链接 首先二分答案L.然后就是判断能否将原串划分出一些长度不小于L的子串,这些子串要是给定n个串中的某个串的子串,且满足它们的长度之和不小于原串长度的90%. 贪心多长选一段什么的显然不对.老老实 ...
- 分位函数(四分位数)概念与pandas中的quantile函数
p分位函数(四分位数)概念与pandas中的quantile函数 函数原型 DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpola ...
- 2018年牛客网NOIP赛前训练营游记
2018年牛客网NOIP赛前训练营游记 提高组(第一场) 中位数 #include<cstdio> #include<cctype> #include<climits&g ...
- Codeforces 576D Flights for Regular Customers 矩阵快速幂+DP
题意: 给一个$n$点$m$边的连通图 每个边有一个权值$d$ 当且仅当当前走过的步数$\ge d$时 才可以走这条边 问从节点$1$到节点$n$的最短路 好神的一道题 直接写做法喽 首先我们对边按$ ...
- URAL 1966 Cycling Roads 计算几何
Cycling Roads 题目连接: http://acm.hust.edu.cn/vjudge/contest/123332#problem/F Description When Vova was ...
- IAR EWARM __iar_program_start, __iar_data_init3, __iar_copy_init3, __iar_zero_init3
#include <stdint.h> // The type of a pointer into the init table. typedef void const * table_p ...