❶ sql中如何從身份證號中查看生日是當天日期的人
select * from table t where substr(t.ID,7,8) = to_char(sysdate,'yyyymmdd') table 是你的液御表名,ID是你的身份證號碼,(現在的身份證亂啟都是18位了吧,從第7個字元開始截取,截取8個字元,如果身份證不是18位,要更改一下截取開始的位置),sysdate是系統當前時間,'yyyymmdd'是日期格式定鬧陪岩義。
❷ 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里利用身份證查詢出生日期
select 序號,姓名,身份證號,
case LEN(身份證號)
when 15 then convert(date, SUBSTRING(身份證號, 7, 6), 12) /*15位身份證號: 7-12位為yymmdd */
when 18 then convert(date, SUBSTRING(身份證號, 7, 8), 112) /*18位身份證號: 7-14位為yyyymmdd */
else NULL
end as 出生日期,
case LEN(身份證號)
/*身份證號出生日期後3位, 如果為奇數則性別為男, 55歲退休; 如果為偶數則為女, 50歲退休*/
when 15 then dateadd(year, case convert(int, SUBSTRING(身份證號,15,1))%2 when 1 then 55 else 50 end, convert(date, SUBSTRING(身份證號, 7, 6), 12) )
when 18 then dateadd(year, case convert(int, SUBSTRING(身份證號,17,1))%2 when 1 then 55 else 50 end, convert(date, SUBSTRING(身份證號, 7, 8), 112) )
else NULL
end as 退休日期
from 養老表
❹ SQL由身份證號計算出生日期和年齡
select datediff(day,convert(datetime,SUBSTRING (ID, 7, 4) + '-' + SUBSTRING (ID, 11, 2) + '-' + SUBSTRING (ID, 13, 2)) ,getdate())/360 from 員工信息表
❺ sqlserver如何將身份證號碼的出生日期提取出來轉為日期類型數據
(1)截取第七、八位數沒有錯
(2)錯就錯在as
datetime錯誤。
截取獲得的兩位數字不可能轉成時間格式。只能轉成int、string或者varchar格式
(3)改正方法:把as
datetime改成as
int
或者改成as
varchar
望採納!
❻ 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';
至於剩下的年齡區間樓主自己應該知道怎麼求了把
❼ sql 從身份證中自動獲取出生日期,顯示格式為XXXX-XX-XX
以oracle為例,通過substr()方法截取
年月日
,即可源檔。
代碼如下:
declare
cardid
varchar(20);
birth
varchar(20);
begin
/*給cardid賦值一個18位身份證做好號碼*/純裂鉛
birth
:=
substr(cardid,7,4)
||
'-'
||
substr(cardid,11,2)
||
'-'
||
substr(cardid,13,2);
dbms_output.put_line(birth);
end;
❽ SQL 利用身份證提取生日月
when substring(HY_JBDA.證件號碼,11,2) ='01' then '1月'
❾ 出生日期怎麼從身份證提取出來
從身份證號碼中態睜提取出生帆友歲日期的方法;
1、打開EXCEL表格,並以各種單位輸入ID號。
❿ 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("相隔"+相隔天數+"天");