1. 首页 > 电脑 >

【sql】sql计算年龄当然报错了

sql计算年龄

当然报错了

【sql】sql计算年龄当然报错了【sql】sql计算年龄当然报错了


【sql】sql计算年龄当然报错了


因为你没有制定查询条件,

现在写的语句select查询出Sales.Decile表中所有记录,而你的update是等于(意思更新一条记录),所以报错了,应该指定where条件

1.打开数据库。

2.连接。

3.输入数据库名“test”,然后单击添加。

4.单击右键,新建表。

5.输入表格式,表名为“计算年龄”。

6.在表上点击右键,打开表。

7.输入表内容。

8.单击新建查询。

9.在右侧的框中输入。

use

test

select

年龄=year(getdate())-year(出生日期)

from

计算年龄

10.执行SQL语句。

11.结果。

你好

你的问题不需要增加员工年龄这列

因为随着一年一年的时间,年龄是动态计算的

通常用

系统时间-出生日期

显示出来就可以了

oracle

select

round((sysdate

-to_date('2008-01-01','yyyy-mm-dd'))/365,0)

from

dual

;sql查询一下联机帮助文档

BirthDate 这个每个人都不一样!

select 语句返回有多个值,你要更新哪个呢?

要加条件的。

datediff() 很好用` 用这个吧!

没有必要这么去计算年龄吧,SQL语句执行起来效率很低。

用日期计算函数

update Sales.Decile set Age =datediff(year,(BirthDate),getdate())

如果只是到年就用datediff,否则可以直接用getdate()-出生日期

用getdate()获得今天的日期,再用datediff算的年数

也可以直接取年份相减啊

用datepart函数,代码如下:

select

2011-datepart(yyyy,出生日期)

from

表名

知道学生表中有出生日期,如何计算年龄,写出~SQL

SQL计算年龄可以使用求时间值的函数:datediff

若出生日期列名为:col1,那么SQL语句应该这样写:

1select datediff(yyyy,col1,getdate()) as 周岁,datediff(yyyy,col1,getdate())+1 as 虚岁 from 学生表

select datediff(year,出生日期,getdate())+1 from 学生表

请问怎么从sql server数据库里通过出生日期,然后算出他的年龄?

Sql

中通过出生日期计算年龄可用

year函数

。工具:Sql

2008

R2

步骤:

1、有student表,数据如下,其中birthday列为生日列:

2、要计算每个人的年龄,可用如下语句:

select ,year(getdate())-year(birthday) age from student3、查询结果如下,年龄计算结果出现:

datediff(year,数据库里的时间段,getdate())

就是当前时间减去数据库里的时间得到年,如果数据库里的时间段年大于当前时间的话得到的是负数,你自己做判断的。

请问怎么从sql server数据库里通过出生日期,然后算出他的年龄?

Sql中通过出生日期计算年龄可用year函数。

工具:Sql 2008 R2

步骤:

1、有student表,数据如下,其中birthday列为生日列:

2、要计算每个人的年龄,可用如下语句:

select ,year(getdate())-year(birthday) age from student3、查询结果如下,年龄计算结果出现:

datediff(year,数据库里的时间段,getdate()) 就是当前时间减去数据库里的时间得到年,如果数据库里的时间段年大于当前时间的话得到的是负数,你自己做判断的。

DATEDIFF ( datepart , startdate , enddate ) SELECT DATEDIFF ( year, birthDate, GetDate()) 或者SELECT DATEDIFF ( year, '1986-8-6', GetDate()) 文档中有,自己好好研究下吧。

SELECT DATEDIFF(yyyy, 出生日期, GETDATE()) FROM 表名

sql是可以实现的

如何用SQL语句把出生日期计算年龄,比如是1984-2-16怎么算出年龄啊

可以用日期函数datediff计算出生日期与当前日期相的年数

如datediff(year,'1984-2-16',getdate())

人活一辈子,就活一颗心,心好了,一切就都好了,心强大了,一切问题,都不是问题。

人的心,虽然只有拳头般大小,当它强大的时候,其力量是无穷无尽的,可以战胜一切,当它脆弱的时候,特别容易受伤,容易多愁善感。

心,是我们的根,是我们的本,我们要努力修炼自己的心,让它变得越来越强大,因为只有内心强大,方可治愈一切。

没有强大的敌人,只有不够强大的自己

人生,是一场自己和自己的较量,说到底,是自己与心的较量。如果你能够打开自己的内心,积极乐观的去生活,你会发现,生活并没有想象的那么糟糕。

面对不容易的生活,我们要不断强大自己的内心,没人扶的时候,一定要靠自己站稳了,只要你站稳了,生活就无法将你撂倒。

人活着要明白,这个世界,没有强大的敌人,只有不够强大的自己,如果你对现在的生活不满意,千万别抱怨,努力强大自己的内心,才是我们的出路。

只要你内心足够强大,人生就没有过不去的坎

人生路上,坎坎坷坷,磕磕绊绊,如果你内心不够强大,那这些坎坎坷坷,磕磕绊绊,都会成为你人生路上,一道道过不去的坎,你会走得异常艰难。

人生的坎,不好过,特别是心坎,难过,过了这道坎,还有下道坎,过了这一关,还有下一关。面对这些关关坎坎,我们必须勇敢往前走,即使心里感到害怕,也要硬着头皮往前冲。

人生没有过不去的坎,只要你勇敢,只要内心足够强大,一切都会过去的,不信,你回过头来看看,你已经跨过了多少坎坷,闯过了多少关。

内心强大,是治愈一切的良方

面对生活的不如意,面对情感的波折,面对工作上的糟心,你是否心烦意乱?是否焦躁不安?如果是,请一定要强大自己的内心,因为内心强大,是治愈一切的良方。

当你的内心,变得足够强大,一切困难,皆可战胜,一切问题,皆可解决。心强则胜,心弱则败,很多时候,打败我们的,不是生活的不如意,也不是情感的波折,更不是工作上的糟心,而是我们内心的脆弱。

真的,我从来不怕现实太残酷,就怕自己不够勇敢,我从来不怕生活太苦太难,就怕自己不够坚强。我相信,只要我们的内心,变得足够强大,人生就没有那么多鸡毛蒜皮。

强大自己的内心,我们才能越活越好

生活的美好,在于追求美好的生活,而美好的生活,源于一颗强大的内心,因为只有内心强大的人,才能消化掉各种不顺心,各种不如意,将阴霾驱散,让美好留在心中。

心中有美好,生活才美好,心中有阳光,人生才芬芳。一颗阴暗的心,托不起一张灿烂的脸,一颗强大的心,可以美化生活,精彩人生,让我们越活越好。

生活有点欺软怕硬,如果你内心很脆弱,生活就会打压你,甚至折磨你,如果你内心足够强大,生活就会奖励你,眷顾你,全会对你和颜悦色。

计算年龄就是,计算当前时间与出生日期的年份的过程,所以用到DATEDIFF 函数。

一、DATEDIFF 函数

1、函数功能:返回两个日期之间的间隔指定单位值。

2、语法:DATEDIFF ( date-part, date-expression-1, date-expression-2 )

date-part :指定要测量其间隔的日期部分,常用参数说明

date-expression-1 某一间隔的起始日期。

date-expression-2 某一间隔的结束日期。

函数返回值:从date-expression-2 值中减去 Date-expression-1,返回两个参数之间 date-parts 的值。

3、范例演示:

SELECT datediff( hh, '4:00AM', '5:50AM' )下面的语句返回 102:

1、实例表格:a_test

2、SQL语句如下:

select bh,rq,

case when datediff(yy,rq,getdate()) = 0

语句结果如图:

可以用日期函数datediff计算出生日期与当前日期相的年数

如datediff(year,'1984-2-16',getdate())

,if( substring(FROM_UNIXTIME(UNIX_TIMESP('${y_date}','yyyy-MM-dd'), 'yyyyMMdd'),5) >= substring(a.ZCSDAT,5) ,

substring(FROM_UNIXTIME(UNIX_TIMESP('${y_date}','yyyy-MM-dd'), 'yyyyMMdd'),1,4) - substring(a.ZCSDAT,1,4),

substring(FROM_UNIXTIME(UNIX_TIMESP('${y_date}','yyyy-MM-dd'), 'yyyyMMdd'),1,4) - substring(a.ZCSDAT,1,4)-1

) AS EMP_AGE --年龄: 跑数月日 >= 出生月日 ,年份 ,否则年份-1

select extract(year from sysdate)- extract(year from to_date('1984-2-16','yyyy-mm-dd')) year from dual;

这个符合你的要求吗?

select datediff(year,'1984-2-16',getdate())

SELECT DATEDIFF(year, 出生日期, GETDATE())

SQL 根据日期计算年龄

种:

一张人员信息表里有一人生日(Birthday)列,跟据这个列,算出该人员的年龄

datediff(year,birthday,getdate())

例:birthday = '2003-3-8'

getDate()= '2008-7-7'

结果为:5

这样结果是会返回该人员的大概年龄,但不.不会到月或日.

按照上面测试的日期,该人员的实际年龄应该还不满5岁。在需要年龄的时候,就会有错.

第二种:FLOOR(datediff(DY,birthday,getdate())/365.25)

FLOOR函数:

FLOOR(expr) 返回小于或等于expr的整数.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1

这样就可以算出,该人员当前实际年龄了.

测试:

birthday = '2000-7-8'

getdate()= '2007-7-7'

算出结果为:6。

探究的一般过程是从发现问题、提出问题开始的,发现问题后,根据自己已有的知识和生活经验对问题的作出假设.设计探究的方案,包括选择材料、设计方法步骤等.按照探究方案进行探究,得到结果,再分析所得的结果与假设是否相符,从而得出结论.并不是所有的问题都一次探究得到正确的结论.有时,由于探究的方法不够完善,也可能得出错误的结论.因此,在得出结论后,还需要对整个探究过程进行反思.探究实验的一般方法步骤:提出问题、做出假设、制定、实施、得出结论、表达和交流.

科学探究常用的方法有观察法、实验法、调查法和资料分析法等.

观察是科学探究的一种基本方法.科学观察可以直接用肉眼,也可以借助放大镜、显微镜等仪器,或利用照相机、录像机、等工具,有时还需要测量.科学的观察要有明确的目的;观察时要全面、细致、实事求是,并及时记录下来;要有、要耐心;要积极思考,及时记录;要交流看法、进行讨论.实验方案的设计要紧紧围绕提出的问题和假设来进行.在研究一种条件对研究对象的影响时,所进行的除了这种条件不同外,其它条件都相同的实验,叫做对照实验.一般步骤:发现并提出问题;收集与问题相关的信息;作出假设;设计实验方案;实施实验并记录;分析实验现象;得出结论.调查是科学探究的常用方法之一.调查时首先要明确调查目的和调查对象,制订合理的调查方案.调查过程中有时因为调查的范围很大,就要选取一部分调查对象作为样本.调查过程中要如实记录.对调查的结果要进行整理和分析,有时要用数学方法进行统计.收集和分析资料也是科学探究的常用方法之一.收集资料的途径有多种.去图书管查阅书刊报纸,拜访有关人士,上网收索.其中资料的形式包括文字、、数据以及音像资料等.对获得的资料要进行整理和分析,从中寻找和探究线索。

sql根据出生年月计算年龄

SQL计算年龄:

SELECT FLOOR(DATEDIFF(CURDATE(), STR_TO_DATE(birthday, '%Y-%m-%d'))/365) AS age FROM table_name;

拓展:MySQL中可以使用TIMESPDIFF函数根据出生日期计算年龄,它接受5个参数:

TIMESPDIFF(unit, datetime_expr1, datetime_expr2, [datetime_expr3], [datetime_expr4])

unit参数可以是YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND中的任何一个,代表了计算结果的单位。

SQL语句如何根据出生日期计算年龄

种:

一张人员信息表里有一人生日(Birthday)列,跟据这个列,算出该人员的年龄

datediff(year,birthday,getdate())

例:birthday = '2003-3-8'

getDate()= '2008-7-7'

结果为:5

这样结果是会返回该人员的大概年龄,但不.不会到月或日.

按照上面测试的日期,该人员的实际年龄应该还不满5岁。在需要年龄的时候,就会有错.

第二种:

FLOOR(datediff(DY,birthday,getdate())/365.25)

FLOOR函数:

FLOOR(expr) 返回小于或等于expr的整数.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1

这样就可以算出,该人员当前实际年龄了.

测试:

birthday = '2000-7-8'

getdate()= '2007-7-7'

算出结果为:6

在Oracle中,要获得日期中的年份,例如把sysdate中的年份取出来。

一种常用的方法是:to_number(to_char(sysdate,'yyyy'))

还有一种更好的方法,那就是使用oracle提供的Extract函数,使用方法是:

extract(year from sysdate) ,此方法获得的结果是数值型的 ,这种方法省掉了类型转换,更加简洁。

相应的,要取得月份或日,可以用extract (month from sysdate) 和extract (day from sysdate)

出生日期求出来了是吧,求当前时间与生日时间相多少个月,再除12就可以了,问下你用的是oracle,还是sql server,如果是oracle如下样例,sql server应该也有类似的函数,除12后根据需要是取整还是四舍五入。

select months_between(sysdate,date'1986-12-7')/12 from dual;

使用datediff函数

select datediff(year,'1988.1.1',getdate())

这是计算1988年出生人的年龄

SELECT CAST( DATEDIFF(CURRENT_DATE(),'1988-08-09') /365 AS SIGNED )

FROM DUAL;

数据库怎么根据出生日期查询年龄?

Sql中通过出生日期计算年龄可用year函数。

有student表,数据如下,其中birthday列为生日列:要计算每个人的年龄,可用如下语句:select ,year(getdate())-year(birthday) age from student3、查询结果如下,年龄计算结果出现:

数据库索引:

资数据索引的观念由来已久,就像是一本书的目录一样,也算是索引的一种。只是索引的分类较广,例如车牌、字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。

另外,索引跟域有著相应的关系,索引即是由域而来,其中域有所谓的关键域(Key Field),该域具有性,即其值不可重复,且不可为"空值(null)"。例如:在合并数据时,索引就是附加域数据之指向性用途。故此索引为不可重复性且不可为空。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息