sql 日期分别提取年月?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 日期分别提取年月?相关的知识,希望对你有一定的参考价值。
sql 日期分别提取年,月。月份要为两位 我的语句不行麻烦修改一下。
select ID,CONVERT(varchar(4),sj,24) as 年,
DATEPART(mm,sj) as 月 from zong
select left(convert(varchar,getdate(),21),7) 参考技术A select year(sj) as 年,right('0'+cast(month(sj)as varchar(2)),2)as 月 from zong
从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))
以上是关于sql 日期分别提取年月?的主要内容,如果未能解决你的问题,请参考以下文章