1. 程式人生 > >sqlserver輸入出生日期返回年齡精確到天函式

sqlserver輸入出生日期返回年齡精確到天函式

本以為sqlserver自帶這種根據出生日期自動算年齡而且能精確到天的函式,結果上網找半天也沒找到,只找到些能算到幾歲的。就自己寫了個。大神應該有一行程式碼搞定的辦法,本人的能力只能千行才搞定-->-->

有更好辦法的趕緊來嘲諷我吧。

declare @Age varchar(100),@now datetime, @birthYear int, @birthMonth int, @birthDay int,
@nowYear int,@nowMonth int,@nowDay int,@AgeMonth int,@BirthMonthMaxDays int,@lastBirth int
set @now=GETDATE()
set @birthYear=DateName(year,@dBirthday)
set @birthMonth=DateName(month,@dBirthday)
set @birthDay=DateName(day,@dBirthday)
set @nowYear=DateName(year,GetDate())
set @nowMonth=DateName(month,GetDate())
set @nowDay=DateName(day,GetDate())
set @lastBirth=DATEDIFF(year,@dBirthday,@now)
set @AgeMonth=DATEDIFF(MONTH, dateadd(year,@lastBirth-1,@dBirthday) ,@now) 
set @BirthMonthMaxDays=cast(32-DAY(@dBirthday+32-DAY(@dBirthday)) as int)


if @now>

[email protected] 
begin
set @Age=
case when @lastBirth>0 then
(case when  (@nowMonth>@birthMonth) then cast(@lastBirth as varchar)+'歲'
 when ((@[email protected])and(@nowDay>[email protected])) then  cast(@lastBirth as varchar)+'歲'
 when @nowMonth<@birthMonth and(@lastBirth-1<>0) then cast(@lastBirth-1 as varchar)+'歲'
 else ''
end) 
else '' end +


ltrim(case when @nowMonth>@birthMonth then cast(@
[email protected]
as varchar)+'個月' 
when @nowMonth<@birthMonth and [email protected][email protected]<>0  then cast([email protected][email protected] as varchar)+'個月' 
when @[email protected] then case when @nowDay<@birthDay then '11個月' else''end
else ''end) +


case when @nowDay<@birthDay then cast(@
[email protected]
[email protected] as varchar)+'天'
when @nowDay>@birthDay then cast(@[email protected] as varchar) +'天'
else ''end
end
else
begin
  set @Age='輸入出生日期有誤'
end
return @Age

相關推薦

sqlserver輸入出生日期返回年齡精確函式

本以為sqlserver自帶這種根據出生日期自動算年齡而且能精確到天的函式,結果上網找半天也沒找到,只找到些能算到幾歲的。就自己寫了個。大神應該有一行程式碼搞定的辦法,本人的能力只能千行才搞定-->--> 有更好辦法的趕緊來嘲諷我吧。 declare @Age

sql server 根據身份證號計算出生日期年齡的存儲過程

ttl 實現 分享 mst () 需要 poc getdate mtr 我這邊有一個業務,需要客戶填寫身份證號,自動計算他的出生日期和年齡 在sql中,具體的存儲過程實現是這樣的: /********************************************

php根據出生日期獲取年齡

turn logs class php http www. www .html light /** * @param $birthday 出生年月日(1992-1-3) * @return string 年齡 */ function countage($birthd

Mysql 根據出生日期計算年齡

format birt div 轉換 to_days ref 社會 emp ear 最近因為業務要求需要根據出生日期計算年齡,在網上查了好多的方法,在這裏總結一下。 網上的計算方法好多都提到了格裏高利歷法,特意去查了下資料,普及點知識。   格裏高利歷是公歷的標準名稱,是一

PHP 根據出生日期計算年齡、生肖、星座

/** * 根據出生日期計算年齡、生肖、星座 * @param string $mydate = "2018-10-23" 日期 * @param string $symbol 符號 * @return $array * */ function birthday($mydate,$sym

根據出生日期獲取年齡

話不多說 直接貼程式碼 public function getAge($birthday){ //格式化出生時間年月日 $byear=date('Y',$birthday); $bmonth=date('m',$birthday);

sql 根據出生日期計算年齡

如表sample的欄位xm對應姓名,csrq對應出生日期要計算年齡     String   sql   =   "select   xm,   to_char(sysdate,'YYYY')   -   to_char(csrq,'YYYY')   nl   from  

在JS中根據身份證號計算出生日期年齡

1、根據身份證號計算出生日期 var identificationCardid=document.getElementById("identificationCardid").value;//取得身份

SQL通過出生日期獲取年齡

IF EXISTS(SELECT 1 FROM sysobjects WHERE [name] = 'GetAge')     DROP FUNCTION dbo.GetAge go CREATE FUNCTION dbo.GetAge (     @birthday DA

php根據出生日期計算年齡函式

今天分享一個小功能函式,根據出生日期來計算當前年齡,精確到天,如果有興趣的可以再深一步判斷精確到時分秒。 程式碼如下: /** * 準備工作完畢 開始計算年齡函式 * @param  $birth

php根據出生日期獲取年齡,生日資料型別為date型

<span style="font-size:18px;"><strong> function age($birthday){ $birthday = strtotime($birthday);//int strtotime ( string

根據出生日期計算寶寶的年齡,幾歲幾個月幾

專案需要網上找了幾個工具類計算都不準確!最後發現使用Calendar計算很方便。 public static String getAge(String date) { Strin

JavaScript判斷輸入日期是今年的第幾

asc bsp mon div require CA days line style const readline = require("readline-sync"); console.log("請輸入一個年份:"); let year = readline.quest

Python學習筆記:出生日期轉化為年齡

  在資料探勘專案中,有時候個體的出生日期包含資訊量過大,不適合作為一個有效資料進入模型演算法訓練,因此有必要把出生日期轉化為年齡age,age是一個很好的特徵工程指示變數。 import pandas as pd import numpy as np from pandas import Serie

iSO獲取兩個日期之間的所有日期陣列,精確

- (void)viewDidLoad {     [superviewDidLoad];     NSArray *datearr = [selfgetDayArrayLeftDate:@"2017年01月01日

Struts2自定義轉換器輸入生日日期輸出年、月、日、年齡

  BirthAction.java package com.action; import java.util.Calendar; import java.util.Map; import com.bean.Birth; import com.opensymphony.xwor

(轉載)根據身份證返回出生日期

--------------------- 作者:zhayuyao 來源:CSDN 原文:https://blog.csdn.net/zhayuyao/article/details/78549442 版權宣告:本文為博主原創文章,轉載請附上博文連結!  

【js】根據出生日期,計算週歲年齡

/*根據出生日期算出年齡*/ function jsGetAge(strBirthday) { var returnAge; var strBirthdayArr = strBirthday.split("-"); var

通過日期選擇器輸入時間並判斷年齡(週歲)

今天的我特別的高產,已經寫了三篇文章了,主要就是乘著空閒把最近遇到的問題都記錄下來 老規矩,先上圖 如果年齡小於0,則提示錯誤 xml檔案就不貼了,很簡單 實現這個功能主要用兩個方法,一個是寫一個計算週歲的方法,一開始把週歲想簡單了,居然直接減年份去了,太愚鈍了,,,

根據出生日期計算現在年齡

//日期格式化 formatDatetime: function (datetimeString) {