如何使用当前系统日期从nvarchar类型dob计算年龄

编程入门 行业动态 更新时间:2024-10-28 06:24:20
本文介绍了如何使用当前系统日期从nvarchar类型dob计算年龄的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

hii ..所有 我是anil.i m in development ...我想计算不。在1到14岁之间的候选人。 在我的表中dob是nvarchar类型.. 请帮助 提前感谢..

hii.. all i m anil.i m new in development.. i want to calculate no. of candidates between 1 to 14 age. in my table the dob is a nvarchar type.. please help thanks in advance..

推荐答案

good想法是使用Date或datetime数据类型为这种类型使用nvarchar good idea is to use Date , or datetime datatype for this type insted of using nvarchar

不要将日期存储为 nvarchar 数据类型!使用正确的数据类型 [ ^ ]。 转换nvarchar数据类型,使用 CONVERT [ ^ ]功能和 DATEDIFF [ ^ ]来计算年龄。示例: Do not store dates as nvarchar data type! Use proper data type[^]. To convert nvarchar data type, use CONVERT[^] function and DATEDIFF[^] to calculate age. Example: DECLARE @tmp TABLE (dob NVARCHAR(30)) INSERT INTO @tmp (dob) VALUES('1974-06-13'), ('1999-08-16'), ('2002-02-18') SELECT CONVERT(DATETIME, dob) AS dob, GETDATE() AS CurrentDate, DATEDIFF(yyyy, dob, GETDATE()) AS Age FROM @tmp

如果 dob 字段存储数据,如 '13 -06-1974',如果当前服务器日期时间设置为 yyyy-MM-dd ,则转换将失败。在这种情况下,您需要使用 SET DATEFORMAT [ ^ ]命令。例如:

If the dob field stores data like '13-06-1974', the conversion will fail if the current server date-time setting is yyyy-MM-dd. In this case you need to change it by using SET DATEFORMAT[^] command. For example:

DECLARE @tmp TABLE (dob NVARCHAR(30)) INSERT INTO @tmp (dob) VALUES('13-06-1974'), ('16-08-1999'), ('18-02-2002') SET DATEFORMAT dmy; SELECT CONVERT(DATETIME, dob) AS dob, GETDATE() AS CurrentDate, DATEDIFF(yyyy, dob, GETDATE()) AS Age FROM @tmp WHERE DATEDIFF(yyyy, dob, GETDATE()) BETWEEN 6 AND 14

[/ EDIT]

[/EDIT]

更多推荐

如何使用当前系统日期从nvarchar类型dob计算年龄

本文发布于:2023-10-18 11:43:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1504134.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   年龄   日期   类型   系统

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!