SQL时间转换-程序员宅基地

技术标签: mysql  数据库  sql  

convert(varchar(10),字段名,转换格式)

CONVERT(nvarchar(10),count_time,121)
CONVERT为日期转换函数,一般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式.

具体如下:

0 | 0 or 100 | mon dd yyyy hh:miAM(或PM) 
1 | 101 | mm/dd/yy 
2 | 102 | yy-mm-dd 
3 | 103 | dd/mm/yy 
4 | 104 | dd-mm-yy 
5 | 105 | dd-mm-yy
6 | 106 | dd mon yy
7 | 107 | mon dd,yy
8 | 108 | hh:mm:ss 
9 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
10 | 110 | mm-dd-yy
11 | 111 | yy/mm/dd
12 | 112 | yymmdd
11| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制) 
14 | 114 | hh:mi:ss:mmm(24小时制)
15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制)
16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)
具体例子:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2011 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/11

SELECT CONVERT(varchar(100), GETDATE(), 2): 11.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/11

SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.11
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-11
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 11
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 11
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2011 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-11
SELECT CONVERT(varchar(100), GETDATE(), 11): 11/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 110516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2011 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2011-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2011-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/11 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2011-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2011-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2011 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2011

SELECT CONVERT(varchar(100), GETDATE(), 102): 2011.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2011

SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2011
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2011
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2011
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2011
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2011 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2011

SELECT CONVERT(varchar(100), GETDATE(), 111): 2011/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20110516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2011 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2011-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2011-05-16 10:57:49.700
SELECT CONVERT(varchar(100), GETDATE(), 126): 2011-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

常用:

Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12): 110516
Select CONVERT(varchar(100), GETDATE(), 23): 2011-05-16

—常用实例操作:

一、sql server日期时间函数
Sql Server中的日期与时间函数

  1. 当前系统日期、时间
    select getdate() 
  1. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
    例如:向日期加上2天
   select dateadd(day,2,'2010-10-15')  --返回:2010-10-17 00:00:00.000

以此类推:向日期倒推几天或几个月也是可以的。

  select dateadd(day,-2,'2010-10-15')  --返回:2010-10-13 00:00:00.000

   select dateadd(month,-2,'2010-10-15')  --返回:2010-08-1 00:00:00.000

 
  1. datediff 返回跨两个指定日期的日期和时间边界数。
   select datediff(day,'2004-09-01','2004-09-18')   --返回:17
  1. datepart 返回代表指定日期的指定日期部分的整数。
  select DATEPART(month, '2004-10-15')  --返回 10
  1. datename 返回代表指定日期的指定日期部分的字符串
   select datename(weekday, '2004-10-15')  --返回:星期五
  1. day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(10),getdate(),120) 
,当前时间=convert(varchar(8),getdate(),114)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')
      ,今天是周几=datename(weekday,'2004-10-15')

二、日期格式转换

    select CONVERT(varchar, getdate(), 120 )   --2004-09-12 11:06:08 
    select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --20040912110608
 
 select CONVERT(varchar(12) , getdate(), 111 )
 2004/09/12
 
 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

举例:
1.GetDate()

用于sql server :select GetDate()

2.DateDiff(‘s’,‘2005-07-20’,‘2005-7-25 22:56:32’)返回值为 514592 秒

  DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5

3.DatePart(‘w’,‘2005-7-25 22:56:32’)返回值为 2 即星期一(周日为1,周六为7)

DatePart('d','2005-7-25 22:56:32')返回值为 2525DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206DatePart('yyyy','2005-7-25 22:56:32')返回值为 20052005

函数 参数/功能

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 Qq 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  
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40362806/article/details/129212607

智能推荐

推荐系统初学者系列(5)-- 混合推荐机制_基于混合推荐机制的推荐系统-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏10次。在现行的 Web 站点上的推荐往往都不是单纯只采用了某一种推荐的机制和策略,他们往往是将多个方法混合在一起,从而达到更好的推荐效果。关于如何组合各个推荐机制,这里讲几种比较流行的组合方法。加权的混合(Weighted Hybridization): 用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。..._基于混合推荐机制的推荐系统

java新手编程题,Java编程题(新手)-程序员宅基地

文章浏览阅读6.6k次。慕函数9049780azure.microsoft.com/zh-cn/search/documentation/?q=%E6%B7%84%E5%8D%9A%E4%BD%93%E6%A3%80%E6%80%8E%E4%B9%88%E6%89%BE%E4%BA%BA%E6%9B%BF%E4%BB%A3%E3%80%90%E7%94%B515820.499.455%20%E9%A1%BA%E5%88%..._%e8%bf%9b%e5%85%a5%e7%b1%bb%e5%85%88%e8%bd%ac%e6%88%90java%e5%88%86%e6%9e%90%e4%bb%a3%e7%a0%81%ef%bc%8c%e5%8f%91%e7%8e%b0%e5%be%88%e5%a4%9a%e8%b5%84%e6%ba%90%e5%bc%95%e7%94%a8%e4%b8%ba%e9%81%bf%e5%85%8d%e5%87%ba%e9%94%99%ef%bc%8c%e5%85%88%e9%80%9a%e8%bf%8

基于VMD-BiLSTM的电力负荷预测研究(Matlab代码实现)-程序员宅基地

文章浏览阅读430次,点赞25次,收藏18次。4. **模型设计**:设计并训练BiLSTM模型,考虑到BiLSTM对序列数据的建模能力,可以设计多层BiLSTM结构,并且通过调节网络的参数和结构来优化模型性能。6. **模型评估**:使用验证集对训练好的模型进行评估,通常采用常见的评估指标如均方根误差(RMSE)、平均绝对误差(MAE)等来评估模型的预测性能。3. **序列构建**:将VMD得到的IMF成分作为输入序列,构建适合BiLSTM模型的序列数据,同时确定预测的时间步长。博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。行百里者,半于九十。

Flex创建可编辑以及分页的DataGrid-程序员宅基地

文章浏览阅读75次。之前那篇文章:使用Flex,Java,Json更新Mysql数据库 已经介绍了如何使用Json格式的数据从后台用remoteObject的方法读取后现在Flex的DataGrid中。但是如果数据的量很大,就要使用scroll的方式来浏览了,这样造就了很多不变。参考了javally的应用分页列表组件 后结合两个程序就可以比较完美的实现一个可以编辑的以及分页的dataGrid了。使得用户可以读取数..._getgriddataaction

LivePlayer.js播放视频vue中切换url及poster不生效如何解决_liveweb播放器 vue-程序员宅基地

文章浏览阅读1.6k次。网页直播、点播播放器资源下载:https://www.liveqing.com/docs/download/LivePlayer.html使用说明:https://www.liveqing.com/docs/manuals/LivePlayer.html将设置的方法放置到$nextTick this.$nextTick(() => { this.posterUrl = _p..._liveweb播放器 vue

winform控件学习(1)—常用控件_c# program bar 控件-程序员宅基地

文章浏览阅读3.5k次。winform控件学习(—)——常用控件_c# program bar 控件

随便推点

is incompatible with i386:x86-64 output报错-程序员宅基地

文章浏览阅读3.1k次。在[一个操作系统的实现]书中,第五章,开始编译elf文件格式的操作系统内核。将hello.asm编译为hello.o,再编译为可执行文件编译hello.o时,nasm报错is incompatible with i386:x86-64 output。原因是原实验是在32位操作系统下做的,使用的库也是32位的,而现在使用的64位操作系统。解决方法:修改上述两步编译..._is incompatible with i386:x86-64 output

七参数坐标转换 matlab,利用三点法求解空间坐标系转换所需的七参数-程序员宅基地

文章浏览阅读1.7k次。同一个物体的点云在不同坐标系中的坐标表示不同,有时候需要将其进行转换到同一坐标系中进行处理,经典的方法为七参数法(7-parameters),用matlab实现如下:%PS.好久不用matlab了,倍感亲切啊啊啊啊啊啊啊啊!%7参数——三点法求解三维坐标系转换;%13.12.08 By Hupc% xt=lambda*delta_xyz+lambda*r*xs;%clearclose allclc..._三维空间变换模型参数matlab

数字转化为千分位_numeral 千分位不确定小数位-程序员宅基地

文章浏览阅读721次。网上有好多方法,大多是正则表达式,这里记录一下简单的转换方法。1、es6方法num.toLocaleString("en");缺点:.00结尾的数字转换后小数位消失小于1000的数字不能转换?2、正则表达式..._numeral 千分位不确定小数位

Redis中ZSET的ZCARD操作的时间复杂度_zcard的时间复杂度-程序员宅基地

文章浏览阅读3.8k次。最近要用到Redis的ZSET结构,在某个Redis命令介绍的网站上标注着ZSET的ZCARD命令的复杂度是O(1)。但我的代码里ZCARD是个频繁的操作,以防万一,我下载了Redis的源码,找到了ZCARD操作相关的代码。unsigned long zsetLength(const robj *zobj) { unsigned long length = 0; ..._zcard的时间复杂度

【BZOJ 1189】[HNOI2007]紧急疏散evacuate-程序员宅基地

文章浏览阅读43次。Description发生了火警,所有人员需要紧急疏散!假设每个房间是一个N M的矩形区域。每个格子如果是'.',那么表示这是一块空地;如果是'X',那么表示这是一面墙,如果是'D',那么表示这是一扇门,人们可以从这儿撤出房间。已知门一定在房间的边界上,并且边界上不会有空地。最初,每块空地上都有一个人,在疏散的时候,每一秒钟每个人都可以向上下左右四个方向移动一格,当然他也可以站着不动。疏散..._神经网络模型实现单房间疏散

odoo14 | widget将勾选块变成开关按钮_odoo widget 开关-程序员宅基地

文章浏览阅读526次。在odoo中将布尔勾选框变成一个随时可以开关的按钮。升级模块即可看到效果,该按钮的操作不受只读影响。只需要在xml中对应的字段后面加上小组件。_odoo widget 开关

推荐文章

热门文章

相关标签