Sql server中对时间类型的字段转换
来源:互联网 发布:后缀表达式c语言算法 编辑:程序博客网 时间:2024/05/03 06:54
Sql server中对时间类型的字段转换
获取当前日期利用 convert 来转换成我们需要的datetime格式.
select CONVERT(varchar(12) , getdate(), 112 )
20040912 www.2cto.com
------------------------------------------------------------
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 www.2cto.com
------------------------------------------------------------
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
www.2cto.com
1.指定日期该年的第一天或最后一天
1.1 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'
1.2 年的最后一天
SELECT CONVERT(char(5),@dt,120)+'12-31'
2.指定日期所在季度的第一天或最后一天
2.1 季度的第一天
SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,@dt)*3-Month(@dt)-2,
@dt),120)+'1')
2.2 季度的最后一天(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)
2.3 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,@dt)*3-Month(@dt),@dt),120)+'1')
3.指定日期所在月份的第一天或最后一天
3.1 月的第一天
SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')
3.2 月的最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')
3.3 月的最后一天(容易使用的错误方法)
SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))
www.2cto.com
3.4 指定日期所在周的任意一天
SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
5.指定日期所在周的任意星期几
5.1 星期天做为一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)
5.2 星期一做为一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)
作者 dudumao
- Sql server中对时间类型的字段转换
- sql server 中int 类型和时间类型的相互转换
- Sql Server 对NTEXT类型的字段操作
- SQL SERVER的字段类型
- SQL SERVER的字段类型
- sql Server 时间 类型 的转换,与存储
- Sql Server数据库中Identity类型字段的使用
- SQL Server中IDENTITY类型字段的Reset
- sql server 与oracle 中字段类型的对应
- sql修改字段类型:SQL SERVER的字段类型介
- sql server日期时间类型转换
- C# 对SQL Server 中Image字段的读写
- C# 对SQL Server中Image字段的读写
- sql server 中字段类型及说明
- sql server 中字段类型及说明
- SQL SERVER中字段类型及说明
- SQL Server 批量转换指定字段类型为另一种类型
- 俩数据库时间类型字段的转换
- 无监督机器学习的kmeans思想介绍
- 用栈实现四则运算
- C++中函数重载、覆盖与隐藏的区别
- javascript——创建对象的方式
- 队列操作
- Sql server中对时间类型的字段转换
- 安卓多线程下载
- java实现二维码生成的几个方法
- oracle编写过程以及存储过程在java中的调用
- 关于数组的几道面试题
- C程序设计课程 第十一次实验任务
- mysql ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.s
- unity自动保存项目
- win7系统中的Powershell命令