`
473687880
  • 浏览: 535390 次
文章分类
社区版块
存档分类
最新评论

几个SQL取日期的小文档

 
阅读更多

Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvert DateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助.

将sqlserver中table表的[datetime]字段值‘2007-11-07 16:41:35.033’ 改为‘2007-11-07 00:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦. UPDATE table SET [datetime]= Convert(char(11),[datetime],120)

获取当前日期利用 convert 来转换成我们需要的datetime格式.
select CONVERT(varchar(12) , getdate(), 112 )
20040912
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
------------------------------------------------------------

declare @dateTime DateTime--定义一个datetime的变量
set @dateTime=getdate(); --获取系统当前时间,并赋值给@dateTime字段

--短日期格式:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10),@dateTime,120),N'-0','-')

--长日期格式:yyyy年mm月dd日
SELECT STUFF(STUFF(CONVERT(char(8),@dateTime,112),5,0,N'年'),8,0,N'月')+N'日'

--长日期格式:yyyy年m月d日
SELECT DATENAME(Year,@dateTime)+N'年'+CAST(DATEPART(Month,@dateTime) AS varchar)+N'月'+DATENAME(Day,@dateTime)+N'日'

--完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
SELECT CONVERT(char(11),@dateTime,120)+CONVERT(char(12),@dateTime,114)

------------------------------------------------------------------------------------------------

2、日期推算处理
DECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1.指定日期该年的第一天或最后一天
--A. 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. 年的最后一天
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt)-2,
@dt),
120)+'1')
--B. 季度的最后一天(CASE判断法)
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)
+CASE WHEN DATEPART(Quarter,@dt) in(1,4)
THEN '31'ELSE '30' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,
CONVERT(char(8),
DATEADD(Month,
1+DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)+'1')
--3.指定日期所在月份的第一天或最后一天
--A. 月的第一天
SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')
--B. 月的最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')
--C. 月的最后一天(容易使用的错误方法)
SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))
--4.指定日期所在周的任意一天
SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
--5.指定日期所在周的任意星期几
--A. 星期天做为一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)
--B. 星期一做为一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)

分享到:
评论

相关推荐

    SqlServer日期处理函数

    本文档将详细介绍几个常用的日期处理函数及其应用场景,并通过具体实例加深理解。 #### 常用日期处理函数 1. **获取一个月的第一天** - 函数:`DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)` - 描述:此函数返回...

    权威SQL 标准规范文档

    在SQL 2008中,有几个关键的知识点值得深入探讨: 1. **数据定义语言(DDL)**:DDL用于创建和修改数据库对象,如表、视图、索引等。在SQL 2008中,你可以学习如何使用CREATE TABLE语句定义表格结构,如何使用ALTER...

    sql帮助文档函数大全

    SQL函数主要分为以下几大类: 1. **数值函数**: - `ABS()`: 计算并返回绝对值。 - `CEILING()`: 向上取整到最接近的整数。 - `FLOOR()`: 向下取整到最接近的整数。 - `ROUND()`: 四舍五入到指定的小数位数。 ...

    sqlserver 时间序列文档

    在SQL Server中,可以利用多种工具和技术来进行时间序列分析,主要包括以下几个方面: 1. **SQL Server Analysis Services (SSAS)**:这是Microsoft提供的一款强大的商业智能和数据分析工具,支持多种数据分析方法...

    sql anywhere 11中文参考文档

    文档主要包括以下几个部分: - **SQL 语言元素**:介绍 SQL 语言的基础组成部分,如关键字、标识符、字符串等。 - **数据类型**:详述 SQL Anywhere 支持的各种数据类型,包括字符型、数值型、货币型等。 - **SQL ...

    阿里云odpsSql手册1

    MaxCompute SQL的每个作业的准备、提交等阶段需要花费较长时间,因此不适合需要每秒处理几千至数万笔事务的业务。 MaxCompute SQL采用的是类似于SQL的语法,可以看作是标准SQL的子集,但不能因此简单地把...

    SQLSERVER实用文档

    根据提供的文档内容,我们可以归纳总结出以下几个核心知识点: ### SQL Server 基础操作 #### 1. SELECT 语句 - **语法**: SELECT 语句用于从数据库中选取数据。基本格式为: ```sql SELECT 字段1, 字段2, 函数...

    sqlserver日期函数.pdf

    这是SQL Server中最常用的一个日期函数,用于获取当前系统的日期和时间。函数不带任何参数,返回的是一个datetime类型的数据。例如,使用SELECT GETDATE()可以返回当前日期和时间。 2. YEAR、MONTH、DAY函数 这些...

    sql学习文档

    在“sql学习文档”这个主题中,我们可以深入探讨以下几个关键知识点: 1. SQL基础: - 数据库概念:理解数据库是什么,它的作用以及常见的数据库管理系统,如MySQL、Oracle、SQL Server等。 - 数据类型:了解SQL...

    图书管理系统c++与SQL数据库+课程设计文档

    图书管理系统的功能通常包括以下几个部分: 1. **用户管理**:注册、登录、修改个人信息等功能,确保只有合法用户能进行操作。 2. **图书管理**:录入新书信息,如书名、作者、出版社、ISBN等,同时可以对图书进行...

    SAP-HANA数据库SQL参考手册.pdf

    SQL函数分为几类,包括数据类型转换函数、日期时间函数、数字函数、字符串函数等。例如,CAST函数可以将数据从一种类型转换为另一种类型,而日期时间函数如ADD_DAYS用于对日期进行运算。 字符串函数在处理文本数据...

    SQL文档

    SQL的基础部分包括以下几个方面: 1. 数据库概念:SQL建立在关系模型之上,关系数据库由表格组成,每个表格包含多行多列,行代表记录,列代表字段。SQL文档会解释这些基本概念以及如何通过创建、修改和删除表来管理...

    SQL SQL语句大全

    文档中还涉及到了其他几个表的创建和数据插入: - **课程表(Course)**:包含课程编号`C#`、课程名称`Cname`和教师编号`T#`。 - **教师表(Teacher)**:包含教师编号`T#`和教师姓名`Tname`。 - **成绩表(SC)**:...

    java+sql2000员工管理系统数据库、文档、源代码

    数据库设计包括以下几个关键表: 1. 员工表(Employees):包含员工ID、姓名、性别、出生日期、入职日期、职位等基本信息。 2. 部门表(Departments):记录部门ID、部门名称、负责人等信息,用于组织结构管理。 3. ...

    sqljdbc_2.0

    在压缩包文件名称“sqljdbc_2.0.1803.100_chs”中,我们可以推断出几个关键信息。首先,“1803.100”可能是该驱动的内部版本号,可能代表了该版本的发布日期或者修复的bug数量。其次,“chs”可能代表“Chinese”,...

    金蝶 K3 年结 sql 文档

    ### 金蝶K3年结SQL文档知识点解析 #### 一、概述 金蝶K3是一款广泛应用于企业财务管理的信息系统软件。在每年年底进行财务数据的结算与结转时,通常需要通过执行特定的SQL语句来清理或更新数据库中的记录,确保新...

    SQL92标准 txt版的

    在SQL92标准中,数据类型被细分为字符字符串、位串、数字、日期时间和间隔几大类。每种类型都有其特定的格式和操作规则,如字符字符串支持比较、连接、子串提取等操作;位串则主要用于存储二进制数据,支持按位操作...

    SAP_HANA数据库SQL参考手册

    这两个标题实际上表达了相同的意思,即这是一份关于SAP HANA数据库中SQL语言使用的参考手册。 #### 标识符 在SAP HANA数据库中,标识符用于指代表、视图、列等数据库对象。默认情况下,标识符区分大小写,并且遵循...

    sql经典语句[收集].pdf

    最后,文档还涉及了复杂的日期处理,如计算任意两个时间之间的星期几次数,使用交叉表进行统计分析,以及处理复杂的年月数据。这些功能对于数据分析和报告制作至关重要。 综上所述,这份"SQL经典语句"的文档提供了...

Global site tag (gtag.js) - Google Analytics