當前位置:首頁 » 編程語言 » sql語句身份證號篩選年齡
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句身份證號篩選年齡

發布時間: 2023-07-26 21:23:11

A. 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';
至於剩下的年齡區間樓主自己應該知道怎麼求了把

B. 資料庫怎麼根據出生日期查詢年齡

SqlServer中通過出生日期計算年齡可用year函數。

有student表,數據如下,其中birthday列為生日列:要計算每個人的年齡,可用如下語句:select*,year(getdate())-year(birthday)agefromstudent3、查詢結果如下,年齡計算結果出現:

資料庫索引:

資數據索引的觀念由來已久,就像是一本書的目錄一樣,也算是索引的一種。只是索引的分類較廣,例如車牌、身份證字型大小、條碼等,都是一個索引的號碼,當我們看到號碼時,可以從號碼中看出其中的端倪,若是要找的人、車或物品,也只要提供相關的號碼,即可迅速查到正確的人事物。

另外,索引跟域有著相應的關系,索引即是由域而來,其中域有所謂的關鍵域(Key Field),該域具有唯一性,即其值不可重復,且不可為"空值(null)"。例如:在合並數據時,索引就是附加域數據之指向性用途。故此索引為不可重復性且不可為空。

C. 如何寫在身份證號碼中提取年齡的sql語句

在身份證號碼中提取年齡的sql語句可以參考下面的代碼:

用字元串函數SubString(@str,@StartPos,@nLen)

DECLARE@PersonalIDVARCHAR(18)

SET@PersonalID='xxxxxx19491001xxxx'

SELECTCAST(substring(@PersonalID,7,8)ASSMALLDATETIME)--第7位開始,連續8位

(3)sql語句身份證號篩選年齡擴展閱讀:

SQL 語句舉例

CREATE: 創建資料庫和表等對象

DROP: 刪除資料庫和表等對象

ALTER: 修改資料庫和表等對象的結構

SELECT:查詢表中的數據

INSERT:向表中插入新數據

UPDATE:更新表中的數據

DELETE:刪除表中的數據

COMMIT: 確認對資料庫中的數據進行的變更

ROLLBACK: 取消對資料庫中的數據進行的變更

GRANT: 賦予用戶操作許可權

REVOKE: 取消用戶的操作許可權

D. sql中根據身份證號來計算年齡

update person set age= year(getdate())-substring(sfzh,7,4)

這個命令有一點小錯誤。因為year() 結果是數值型。subs()結果是字元型。

改為:

update person set age= year(getdate())-val(substring(sfzh,7,4))

E. SQL用身份證號計算年齡命令

比如身份證號碼或者出生日期在A1單元格,可以在B1輸入以下公式:
(如果是其他單元格,相應改一下就行)
問題1:
=DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),(LEN(A1)=15)*19&"0-00-00"),TODAY(),"y")
問題2:
=CHOOSE(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2)+1,"女","男")
問題3:
=DATEDIF(TEXT(A1,"0-00-00"),TODAY(),"y")