从sqlserver数据库中提取日期,并把年月日分别截取出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从sqlserver数据库中提取日期,并把年月日分别截取出来相关的知识,希望对你有一定的参考价值。

从sqlserver数据库中提取日期应该使用,并把年月日分别截取出来应该使用
数据库提供的时间函数。
1:使用year,month,day用来提取年月日
如:select
year(getdate()),month(getdate()),day(getdate())
2:使用DATEPART
获取年月日
如:select
DATEPART('year',getdate()),DATEPART('month',getdate()),DATEPART('day',getdate())
----------------------------------------------------------------------------
如果字段是varchar类型的话,可以先将字段转换为日期类型。
使用类型转换函数convert或者cast
如:cast('2015-07-14'
as
datetime)
参考技术A 思路:先把日期转换成字符格式,再通过字符串操作函数截取想要的部分,最后拼凑上你要的部分
比如:a=2009-9-15
0:00:00
left(convert(varchar(20),a,120),7)+'-01
0:00:00
'
说明一下,convert这个函数强制把日期格式转换成varchar型,120是参数,按ODBC标准,yyyy-mm-dd
hh:mm:ss格式
以上是思路,你自己修改一下就可以得到你要的东西
参考技术B 可以用substring截取,也可以转换成datetime然后用year、month、day三个函数计算
以标准日期格式2012-12-19
10:50:02.000为例
substring(col,1,4)=year
substring(col,6,2)=month
substring(col,9,2)=day
year(convert(datetime,col))、month(convert(datetime,col))、day(convert(datetime,col))

SQLServer提取日期中的年月日及其他格式

提取年:datepart(yy,getdate())
提取月:datepart(mm,getdate())
提取日:datepart(dd,getdate())

提取日期格式:
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM 
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 
Select CONVERT(varchar(100), GETDATE(), 12): 060516 
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM 
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM 
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 
Select CONVERT(varchar(100), GETDATE(), 112): 20060516 
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 
Select CONVERT(varchar(100), GETDATE(), 126): 2006-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














































以上是关于从sqlserver数据库中提取日期,并把年月日分别截取出来的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer提取日期中的年月日及其他格式

sql数据表里面取日期的年月日

怎么获得dateTime的年月日并且拼接

sql 日期分别提取年月?

如何从年月日的总和中提取日期分量乘以iOS中的某个整数?

sql server 字段 年月日时分