SQL Server时间粒度系列----第1节时间粒度概述
|
日期部分
|
缩写
|
SQL Server运行版本
|
|
year
|
yy,yyyy
|
SQL Server 2005 +
|
| quarter |
qq,q
|
SQL Server 2005 +
|
|
month
|
mm,m
|
SQL Server 2005 +
|
|
dayofyear
|
dy,y
|
SQL Server 2005 +
|
|
day
|
dd,d
|
SQL Server 2005 +
|
|
week
|
wk,ww
|
SQL Server 2005 +
|
|
weekday
|
dw |
SQL Server 2005+
|
|
hour
|
hh
|
SQL Server 2005 +
|
|
minute
|
mi,n
|
SQL Server 2005 +
|
|
second
|
ss,s
|
SQL Server 2005 +
|
|
millisecond
|
ms
|
SQL Server 2005 +
|
|
microsecond
|
mcs
|
SQL Server 2008 +
|
|
nanosecond
|
ns
|
SQL Server 2008 +
|
|
TZoffset
|
tz
|
SQL Server 2008 +
|
|
ISO_WEEK
|
isowk,isoww
|
SQL Server 2008 +
|
-- 日期以上时间粒度的T-SQL代码:
DECLARE @dtmCreateTime AS DATETIME;
SET @dtmCreateTime = '2016-02-29 23:59:59.997';
SELECT DATEPART(YEAR, @dtmCreateTime) AS 'Year,yy,yyyy CurrentYear';
SELECT DATEPART(QUARTER, @dtmCreateTime) AS 'Quarter,qq,q CurrentQuarter';
SELECT DATEPART(MONTH, @dtmCreateTime) AS 'Month,mm,m CurrentMonth';
SELECT DATEPART(DAYOFYEAR, @dtmCreateTime) AS 'DayOfYear,dy,y DayOfCurrentYear';
SELECT DATEPART(DAY, @dtmCreateTime) AS 'Day,dd,d DayOfCurrentMonth';
SELECT DATEPART(WEEK, @dtmCreateTime) AS 'Week,wk,ww WeekOfCurrentYear', @@DATEFIRST AS 'FisrtDayOfWeek[可以为1到7,sunday对应的7]', DATEPART(WEEKDAY, @dtmCreateTime) AS 'Weekday,dw WeekdayOfCurrentWeek', DATENAME(WEEKDAY, @dtmCreateTime) AS 'WeekdayName';
GO


-- 时间以下时间粒度的T-SQL代码:
DECLARE @dtmCreateTime AS DATETIME;
SET @dtmCreateTime = '2016-02-29 23:59:59.997';
SELECT DATEPART(HOUR, @dtmCreateTime) AS 'Hour,hh HourOfDay', DATEPART(MINUTE, @dtmCreateTime) AS 'Minute,mi,n MinuteOfDay', DATEPART(SECOND, @dtmCreateTime) AS 'Second,ss,s SecondOfDay', DATEPART(MILLISECOND, @dtmCreateTime) AS 'Millisecond,ms MillisecondOfDay';
SELECT DATEPART(MICROSECOND, @dtmCreateTime) AS 'Mircosecond,mcs MicrosecondOfDay', DATEPART(NANOSECOND, @dtmCreateTime) AS 'Nanosecond,ns NanosecondOfDay';
GO
执行后的查询结果如下:


-- 时区偏移TZOFFSET时间粒度的T-SQL代码:
DECLARE @dtmofsDateTime AS DATETIMEOFFSET;
SET @dtmofsDateTime = '2007-05-10 00:00:01.1234567 +05:10'
SELECT DATEPART (TZOFFSET, @dtmofsDateTime) AS 'TZoffset,tz TZoffsetMinuteTotal';
GO

-- ISO_WEEK时间粒度的T-SQL代码:
SELECT DATEPART(ISO_WEEK, '2016-01-06') AS 'ISO_WEEK,isowk,isoww ISO_WeekValue'
GO


ISO 8601 包括 ISO 周-日期系统,即周的编号系统。每周都与该周内星期四所在的年份关联。例如,2004 年第 1 周 (2004W01) 从 2003 年 12 月 29 日星期一到 2004 年 1 月 4 日星期天。一年中最大的周数可能为 52 或 53。这种编号方式通常用于欧洲国家/地区,但其他国家/地区很少用到。
不同的国家/地区的编号系统可能不符合 ISO 标准。现在至少可能存在六种编号系统,如下表所示:
|
每周的第一天 |
一年的第一周包含 |
分配两次的周 |
使用的国家/地区 |
|---|---|---|---|
|
星期日 |
1 月 1 日, 第一个星期六, 其中有 1–7 天属于此年 |
是 |
美国 |
|
星期一 |
1 月 1 日, 第一个星期日, 其中有 1–7 天属于此年 |
是 |
大多数欧洲国家和英国 |
|
星期一 |
1 月 4 日, 第一个星期四, 其中有 4-7 天属于此年 |
否 |
ISO 8601,挪威和瑞典 |
|
星期一 |
1 月 7 日, 第一个星期一, 7 天均属于此年 |
否 |
|
|
星期三 |
1 月 1 日, 第一个星期二, 其中有 1–7 天属于此年 |
是 |
|
|
星期六 |
1 月 1 日, 第一个星期五, 其中有 1–7 天属于此年 |
是 |
|
SELECT DATEPART(YEAR, ) AS 'BaseDateYear', DATEPART(MONTH, ) AS 'BaseDateMonth', DATEPART(DAY, ) AS 'BaseDateDay';
SELECT YEAR() AS 'BaseDateYear', MONTH() AS 'BaseDateMonth', DAY() AS 'BaseDateDay';
GO

SQL Server时间粒度系列----第1节时间粒度概述的更多相关文章
- SQL Server时间粒度系列----第9节时间粒度示例演示
本文目录列表: 1.准备测试数据 2.向测试数据表添加相关时间粒度字段列 3.基于日月季年统计汇总的演示 4.总结语 5.参考清单列表 准备测试数据 为了提供不同时间粒度示例的演示,就需要测试 ...
- 【目录】sql server 进阶篇系列
随笔分类 - sql server 进阶篇系列 sql server 下载安装标记 摘要: SQL Server 2017 的各版本和支持的功能 https://docs.microsoft.com/ ...
- SQL Server时间粒度系列----第4节季、年时间粒度详解
本文目录列表: 1.SQL Server季时间粒度2.SQL Server年时间粒度 3.总结语 4.参考清单列表 SQL Serve季时间粒度 季时间粒度也即是季度时间粒度.一年每3 ...
- SQL Server时间粒度系列----第3节旬、月时间粒度详解
本文目录列表: 1.SQL Server旬时间粒度2.SQL Server月有关时间粒度 3.SQL Server函数重构 4.总结语 5.参考清单列表 SQL Server旬时间粒度 ...
- SQL Server调优系列基础篇
前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优. 通过 ...
- SQL Server调优系列基础篇(常用运算符总结——三种物理连接方式剖析)
前言 上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握. 通过本篇可以了解我们平常所写的T-SQL语句,在SQL ...
- SQL Server调优系列基础篇(并行运算总结篇二)
前言 上一篇文章我们介绍了查看查询计划的并行运行方式. 本篇我们接着分析SQL Server的并行运算. 闲言少叙,直接进入本篇的正题. 技术准备 同前几篇一样,基于SQL Server2008R2版 ...
- SQL Server调优系列基础篇(索引运算总结)
前言 上几篇文章我们介绍了如何查看查询计划.常用运算符的介绍.并行运算的方式,有兴趣的可以点击查看. 本篇将分析在SQL Server中,如何利用先有索引项进行查询性能优化,通过了解这些索引项的应用方 ...
- SQL Server调优系列进阶篇(查询语句运行几个指标值监测)
前言 上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤.筛选条件分析.索引项优化等信息. 本篇我们分析在我们运行的过程中几个关键指标值的检测. 通过这些指标值来分析语句的运行问 ...
随机推荐
- dojo的发展历史
dojo的开始要从2004年初开始说起,那时dojo之父 Alex Russell 在Informatica公司内从事一个名为netWindows的项目,这个项目的目的是在浏览器环境下提供创建窗口化界 ...
- dojo事件驱动编程之事件绑定
什么是事件驱动? 事件驱动编程是以事件为第一驱动的编程模型,模块被动等待通知(notification),行为取决于外来的突发事件,是事件驱动的,符合事件驱动式编程(Event-Driven Prog ...
- 如何捕获和分析 JavaScript Error
前端工程师都知道 JavaScript 有基本的异常处理能力.我们可以 throw new Error(),浏览器也会在我们调用 API 出错时抛出异常.但估计绝大多数前端工程师都没考虑过收集这些异常 ...
- IOS UIView 01-View开始深入 绘制像素到屏幕上
注:本人是翻译过来,并且加上本人的一点见解. 前言 一个像素是如何绘制到屏幕上去的?有很多种方式将一些东西映射到显示屏上,他们需要调用不同的框架.许多功能和方法的结合体.这里我们大概的看一下屏幕之后发 ...
- IOS Socket 02-Socket基础知识
1. 简介 Socket就是为网络服务提供的一种机制 通信的两端都是Socket 网络通信其实就是Socket间的通信 数据在两个Socket间通过IO传输 2. Socket通信流程图 3. 模拟Q ...
- 正式开始jQuery源码的学习
查了一些资料,2.0.3版本的jq源码分析的资料比较多,就以这个版本研究学习了. 今天正式开始.
- ScrollView 里的 EditText 与输入法的用例
情景是这样的: 我希望页面可以滚动,因为长页面,内容多,必须滚动来满足不同手机的显示 点击 EditText 输入法弹出来,并将布局顶起来,并且EditText有足够的显示空间 进入页面时,输入法不能 ...
- 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
- atitit..代码生成流程图 流程图绘制解决方案 java c#.net php v2
atitit..代码生成流程图 流程图绘制解决方案 java c#.net php v2 1.1. Markdown 推荐,就是代码和flow都不能直接使用.1 1.2. Java code2fl ...
- paip.python错误解决23
paip.python错误解决 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...