㈠ sql由身份證號計算出生日期和年齡
select datediff(day,convert(datetime,SUBSTRING (ID, 7, 4) + '-' + SUBSTRING (ID, 11, 2) + '-' + SUBSTRING (ID, 13, 2)) ,getdate())/360 from 員工信息表
㈡ 如何把身份證號碼轉換成出生年月
把身份證號碼轉換成出生年月方法是,首先,以戴爾電腦XP系統為例子,打開Excel表格程序,在程序中打開要將身份證號碼轉換成出生日期表格,然後,選中要生成出生日期的單元格,在函數欄 輸入函數=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)) ,點擊確定,然後,在單元格中就可以看身份證號碼生成的出生日期,最後,將其餘的單元格進行同樣的操作,即可將身份證號碼怎麼轉換出生日期,問題解決。
一、把身份證號碼轉換成出生年月
首先以戴爾電腦XP系統為例子,用戶們雙擊打開「Excel」,然後用戶先在表格內輸入一些內容,方便待會給大家做示範,大家直接打開自己需要編輯的Excel表格就可以了。2、用戶們選中需要填入出生年月的單元格,然後在菜單欄處點擊「公式」選項卡,找到「函數庫」選項卡,然後點擊「插入函數」選項卡,3、在彈出的對話框中,用戶們點擊下拉箭頭,選擇「全部」,打開全部函數,找到「M」開頭的函數,再點擊「MID」,然後點擊確定。
二、身份證號碼
居民身份證號碼,正確、正式的稱謂應該是"公民身份號碼"。中華人民共和國居民身份證是國家法定的證明公民個人身份的有效證件。18位身份證標准在國家質量技術監督局於1999年7月1日實施的GB11643-1999《公民身份號碼》中做了明確的規定
綜上所述,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。
㈢ sqlserver如何將身份證號碼的出生日期提取出來轉為日期類型數據
(1)截取第七、八位數沒有錯
(2)錯就錯在as
datetime錯誤。
截取獲得的兩位數字不可能轉成時間格式。只能轉成int、string或者varchar格式
(3)改正方法:把as
datetime改成as
int
或者改成as
varchar
望採納!
㈣ sql 根據15位或18位身份證號返回出生日期,如果日期不合法,顯示"錯誤的身份證
15位的身份證是7-12位為日期 900124 就是1990 01 24
18位的身份證是7-14位為日期 19900124
身份證號碼 Declare @No varchar(30)
select case when len(@No)=15 then '19'+substring(@No,7,6) when len(@No)=18 then substring(@No,7,8) end
㈤ sql 利用身份證換算出生日期
要isdate(xx)=1即可以轉化為日期類型才行
select sfzh,substring(sfzh,7,4)+'-'+ substring(sfzh,11,2)+'-'+substring(sfzh,13,2) as xx into #T from A
select * from #T where isdate(xx)=1
update A set csrq=convert(datetime,xx) from A,#T
where A.sfzh=#T.sfzh and isdate(xx)=1
㈥ sql中,根據身份證號碼截取出了出生日期,怎麼獲取當前年齡,精確到月、日
具體代碼就不寫了
思路如下
身份證18位 從多少位是年月日來著?大概是第7--15是年月日 substring()方法
獲取當前年與日
兩個日期轉化為毫秒相減,相減後的毫秒轉化為天數
給個小例子publicstaticvoidmain(String[]args){
CalendarnowDate=Calendar.getInstance(),oldDate=Calendar.getInstance();
nowDate.setTime(newDate());//設置為當前系統時間
oldDate.set(1990,5,19);//設置為1990年(6)月29日
longtimeNow=nowDate.getTimeInMillis();
longtimeOld=oldDate.getTimeInMillis();
long相隔天數=(timeNow-timeOld)/(1000*60*60*24);//化為天
System.out.println("相隔"+相隔天數+"天");
㈦ sql從身份證中取出出生日期
以oracle為例:假設你的tb_csm_indivial表裡面CERTIFICATE_CODE欄位存著身份證號:
select
to_date(substr(CERTIFICATE_CODE,7,8),'%yyyy%mm%dd')
from
tb_csm_indivial
where
CERTIFICATE_CODE='210102197908223722'
;這樣就查出來了這個身份證號的出生日期;
下面的腳本就是計算當前日期減去出生日期求出來的生日
select
EXTRACT(year
FROM
to_date('2018-11-22','yyyy-mm-dd'))
-
EXTRACT(year
FROM
to_date(substr(CERTIFICATE_CODE,7,8),'yyyy-mm-dd'))
years
from
tb_csm_indivial
where
CERTIFICATE_CODE='210102197908223722';
至於剩下的年齡區間樓主自己應該知道怎麼求了把
㈧ 怎樣將身份證號碼中的年月日提取出來並轉化為日期
1、打開EXCEL表格,在單元各種輸入身份證號碼。
㈨ sql 中用身份證換算年齡和出生日期
這個簡單啊...
如果是要更新表欄位內容:
新的身份證18位的:
update A
set C=substring(B,7,8),D=datediff(year,substring(B,7,8),getdate())
老的身份證15位的:
update A
set C='19'+substring(B,7,6),D=datediff(year,'19'+substring(B,7,8),getdate())
㈩ plsql 將substr截取身份證上的日期轉為日期格式
SET DATE TO ANSI
SET CENTURY ONsfzh="210811197810030011"csrq=ctod(subs(sfzh,7,4)+'.'+subs(sfzh,11,2)+'.'+subs(sfzh,13,2)) &&出生日期?year(csrq) &&出生年度?YEAR(DATE())-YEAR(csrq) &&年齡