sqlserver中对时间类型的字段转换

获取当前日期利用 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.指定日期该年的第一天或最后一天
  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))

  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)

sqlserver中对时间类型的字段转换,布布扣,bubuko.com

时间: 2024-10-13 00:55:12

sqlserver中对时间类型的字段转换的相关文章

关于springmvc怎么自动把前台string类型日期字段转换成date类型

关于springmvc怎么把前台string类型日期字段转换成date类型字段,小狼想了好久,阅读spring源代码,发现一个很好玩的注解@DateTimeFormat(pattern="yyyy-MM-dd") 对,就是他,小狼是这么使用的 @Controller public class Login { @RequestMapping("/login") public String login(String username,@DateTimeFormat(pa

1 Java中的时间类型

总结:sql中的时间转 util的时间直接赋值即可:反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式. 1 Java中的时间类型 java.sql包下给出三个与数据库相关的日期时间类型,分别是: l Date:表示日期,只有年月日,没有时分秒.会丢失时间: l Time:表示时间,只有时分秒,没有年月日.会丢失日期: l Timestamp:表示时间戳,有年月日时分秒,以及毫秒. 这三个类都是java.util.Date的子类. 2 时间类型相互转换 把数据库

「Flink」Flink中的时间类型

Flink中的时间类型和窗口是非常重要概念,是学习Flink必须要掌握的两个知识点. Flink中的时间类型 时间类型介绍 Flink流式处理中支持不同类型的时间.分为以下几种: 处理时间 Flink程序执行对应操作的系统时间.所有基于时间的操作(例如:时间窗口)都将使用运行相应operator的系统时间.例如:每个小时的处理时间窗口包括在系统时间范围内所有operator接收到的记录.例如:如果应用程序在09:15开始运行,则第一个滚动时间窗口将包括:09:15 – 10:00 之间的处理事件

项目总结1-关于sqlServer 中日期时间处理

一·SQLServer中SQL SERVER 查询时日期格式化 1 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 2 Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 3 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 4 Select CONVERT(varchar(100), GETDATE(), 3

MySql中的时间类型datetime,timestamp,date,year比较

MySQL日期类型.日期格式.存储空间.日期范围比较.日期类型        存储空间       日期格式                 日期范围------------ ---------   --------------------- -----------------------------------------datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31 23:59:5

Mysql中把varchar类型的字段转化为tinyint类型的字段

因为之前不知道tinyint类型的用法,所以将一些状态属性字段类型设置成了varchar类型,然后用"是"和"否"来判断状态 后来了解到了tinyint,就想试着用一下,但是要把varchar类型的字段转化为tinyint类型的字段,探索方法如下: 1.将表里面的所有"是"或者"否"改成 0,因为当前字段类型是varchar,所以这一步更改是没有问题的 2.运行下面的SQL语句 ALTER TABLE 表名 MODIFY CO

知方可补不足~sqlserver中对xml类型字段的操作

回到目录 在sqlserver中有很多种数据类型,而XML数据类型是比较新奇怪的一种格式,我们平常接触的可能比较少,用的也少,而在某些场合,使用XML类型可能会使我们的开发变简单,下面就是一种情况: 表test有字段Menu,它保存的信息可能有两种方式,对标准menu,扩展menu,自定义Menu等,而这些方式所需要的键/值是不同的,有些同学会说使用Json串来存储,这当然是一种很不错的方式,但是数据库并没有这种类型,所以在查询,聚合时非常困难,这些我们想到了xml格式,它是SQLSERVER的

SQL Server中日期时间类型字段只取年月日

select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select CONVERT(varchar(10), datatime1, 120 )2004-09-12 select CONVERT(varchar(4), datatime1, 120 )+'年'+substring(CONVERT(varchar(10), datatime1, 120 ),6,2)+'月'+substring(CONVERT(varchar(10)

在JSP中获取oracle中的时间戳类型的字段并显示

在oracle中有一种特殊的时间显示类型——Timestamp时间戳 通常我们将当前时间转化为时间戳的语法如下: select cast (sysdate as timestamp ) from dual 在一个JSP页面中,需要获取一个时间戳字段,以显示在页面上 首先,是对JDBC的操作 sql语句用: select * from testlibrary 假设testlibrary中的modifydate字段的类型为TIMESTAMP(6) Testlibrary tlb= new Testl