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")