怎样将SQL数据库中分成3个字段的年月日转成日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样将SQL数据库中分成3个字段的年月日转成日期相关的知识,希望对你有一定的参考价值。
可以用convert函数,select a=convert(datetime,'12'+'05' +'06',111),输出结果为2012-05-06 00:00:00.000,你使用是可以把三个字符串替换成相应的列,其他的如有不明白可再联系我 参考技术A 首先把数据库中的日期读到程序里,是个DateTime型的。然后可以查询DateTime里的方法,记得有DayofWeek这个是得到星期的,还有dayofmouth dayofyear 之类的方法。思路就是这个样子的。具体查文档,文档里有例子呢。追问不是这样的,是设计数据库那货把日期的年月日分开成了3个字段,现在要读只能读3个字符串,而我现在需要判断某个日期是否在数据库的两个日期之间
参考技术B select cast(cast(2015 as varchar)+'/'+cast(11 as varchar)+'/'+cast(23 as varchar) as date)方式很多,根本上还是拼字符串吧。 参考技术C select CONVERT(datetime,'15'+'11'+'11') 参考技术D 使用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 表名
SQL 中怎么根据出生日期算出年龄 然后用年龄查询
sql是不能查询的,php可以计算年龄
1、取得当前日期的时间
2、将sql中的出生日期换算成时间
3、当前日期时间-出生日期时间
4、将得到的数值转换为年月日
参考技术A select *from 表名
where (case when (dateadd(yy,DATEdiff(yy,出生日期,比较的日期),出生日期)>比较的日期)
then (DATEdiff(yy,出生日期,比较的日期)-1)
else DATEdiff(yy,出生日期,比较的日期)
end)>15
查找截止到比较的日期年龄大于15岁的人
case when 是sql server语法,其它数据库用相应的函数替换 参考技术B select *,datediff(year,birth,getdate()) as 年龄 from table where datediff(year,birth,getdate()) >='20'本回答被提问者和网友采纳 参考技术C 这个和编程语言差不多,先定义一个变量,然后用现在的年分减去这个变量,就得到了年龄
以上是关于怎样将SQL数据库中分成3个字段的年月日转成日期的主要内容,如果未能解决你的问题,请参考以下文章