可以用convert函数,select a=convert(datetime,'12'+'05' +'06',111),输出结果为2012-05-06 00:00:00.000,你使用是可以把三个字符串替换成相应的列,其他的如有不明白可再联系我
首先把数据库中的日期读到程序里,是个DateTime型的。然后可以查询DateTime里的方法,记得有DayofWeek这个是得到星期的,还有dayofmouth dayofyear 之类的方法。思路就是这个样子的。具体查文档,文档里有例子呢。
select cast(cast(2015 as varchar)+'/'+cast(11 as varchar)+'/'+cast(23 as varchar) as date)
方式很多,根本上还是拼字符串吧。
select CONVERT(datetime,'15'+'11'+'11')
使用SQL的CONVERT函数
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
示例:
declare @dateY int,@dateM int,@dateD int
set @dateY=2015
set @dateM=12
set @dateD=12
select CONVERT(datetime,Convert(nvarchar,@dateY)+'-'+Convert(nvarchar,@dateM)+'-'+Convert(nvarchar,@dateD))
注:应用中需要将SQL语句中的变量修改成数据字段查询表
select CONVERT(datetime,Convert(nvarchar,年列名称)+'-'+Convert(nvarchar,月列名称)+'-'+Convert(nvarchar,日名称)) from 表名