怎样将SQL数据库中分成3个字段的年月日转成日期

如题所述

可以用convert函数,select a=convert(datetime,'12'+'05' +'06',111),输出结果为2012-05-06 00:00:00.000,你使用是可以把三个字符串替换成相应的列,其他的如有不明白可再联系我
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-04
首先把数据库中的日期读到程序里,是个DateTime型的。然后可以查询DateTime里的方法,记得有DayofWeek这个是得到星期的,还有dayofmouth dayofyear 之类的方法。思路就是这个样子的。具体查文档,文档里有例子呢。追问

不是这样的,是设计数据库那货把日期的年月日分开成了3个字段,现在要读只能读3个字符串,而我现在需要判断某个日期是否在数据库的两个日期之间

第2个回答  2015-11-23
select cast(cast(2015 as varchar)+'/'+cast(11 as varchar)+'/'+cast(23 as varchar) as date)
方式很多,根本上还是拼字符串吧。
第3个回答  2015-11-11
select CONVERT(datetime,'15'+'11'+'11')
第4个回答  推荐于2020-12-29
使用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 表名