
sql表中,有year,month,day三个字段(smallint),怎样将这三个字段合并成date字段,显示成日期格式?谢
例:year(2012),month(12),day(31)要显示成date(2012-12-3100:00:00.000)谢谢!...
例:year(2012),month(12),day(31)
要显示成date(2012-12-31 00:00:00.000)
谢谢! 展开
要显示成date(2012-12-31 00:00:00.000)
谢谢! 展开
3个回答
展开全部
select cast(cast(year as varchar(10))+'-'+cast(month as varchar(10))+'-'+cast(day as varchar(10)) as datetime) date from 表
--解释,先把年月日组合在一起,变成 年-月-日,然后转换为datetime类型。
--解释,先把年月日组合在一起,变成 年-月-日,然后转换为datetime类型。
2013-05-09
展开全部
通过 DATEADD 的方式, 针对 1900-01-01 的基础上, 作日期增加的处理.
SELECT
DATEADD(
dd,
31 -1,
DATEADD(
mm,
12 -1,
DATEADD(yy, 2012 - 1900, 0))) RESULT;
GO
RESULT
-----------------------
2012-12-31 00:00:00.000
(1 行受影响)
SELECT
DATEADD(
dd,
31 -1,
DATEADD(
mm,
12 -1,
DATEADD(yy, 2012 - 1900, 0))) RESULT;
GO
RESULT
-----------------------
2012-12-31 00:00:00.000
(1 行受影响)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select cast(cast(Fyear*10000+Fperiod*100+1 as varchar(50))) as date from 表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询