数据库中日期是varchar类型的,现在要截取年月日分别截取出来,该如何写语句
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、然后在该界面中,点击左上角工具栏里“新建查询”按钮。
4、之后在该界面中,输入提取日期,并把年月日分别截取出来的SQL语句“select year(getdate()),month(getdate()),day(getdate())
”。
5、然后在该界面中,点击上方左侧的“执行”按钮。
6、最后在该界面中,显示分别截取出来的年月日。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-10-05
从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)
数据库提供的时间函数。
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)
第2个回答 2012-12-19
思路:先把日期转换成字符格式,再通过字符串操作函数截取想要的部分,最后拼凑上你要的部分
比如: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格式
以上是思路,你自己修改一下就可以得到你要的东西
比如: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格式
以上是思路,你自己修改一下就可以得到你要的东西
第3个回答 推荐于2017-10-03
可以用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))本回答被提问者采纳
以标准日期格式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))本回答被提问者采纳
第4个回答 2012-12-19
select convert(varchar,datepart(year,getdate()))--年
+'-'+convert(varchar,datepart(month,getdate()))--月
+'-'+convert(varchar,datepart(day,getdate()))--日
select convert(varchar,datepart(year,[日期字段]))--年
select convert(varchar,datepart(month,[日期字段]))--月
select convert(varchar,datepart(day,[日期字段]))--日
+'-'+convert(varchar,datepart(month,getdate()))--月
+'-'+convert(varchar,datepart(day,getdate()))--日
select convert(varchar,datepart(year,[日期字段]))--年
select convert(varchar,datepart(month,[日期字段]))--月
select convert(varchar,datepart(day,[日期字段]))--日