① sql 中身份證編碼與出生日期驗證
根據身份證號驗證出生日期:
alter table 你的表--修改表
/*添加約束 要麼刪掉你之前的生日約束 要麼把
約束開始到結束復制到你的約束里再改*/
add constraint CK_生日 check(
--約束開始
convert(datetime,replace(stuff(stuff(right (left(char之類類型的18位的身份證號,14),8),5,0,'-'),8,0,'-'),'0',''))=生日欄位
--約束結束
)
最後只要把中文替換掉就可以了
② 求SQL加入身份證號驗證第18位的方法
身份證號碼是每一個公民終身不變的號碼,不要查詢使用他人的身份號碼,請使用自己的身份號碼,否則會負法律責任。
③ 怎麼設置sql server 2008的身份驗證
身份驗證具體步驟:
首先,以默認的windows驗證方式打開並登錄SQL Server 2008
第二步:登錄後定位到「\安全性\登錄名」,選擇要使用sql server登錄驗證方式的用戶(例如sa),右擊sa,選擇「屬性」。
第三步:打開「屬性」窗口後,定位到「常規」選項卡,修改密碼並勾選或取消勾選相應復選框選項。
第四步:然後切換到「狀態」選項卡,選擇「連接到資料庫」為「授予」,「登錄」為「啟用」,之後點擊右下方的「確定」按鈕保存退出。
第五步:右擊連接資料庫的登錄用戶,在出現的右鍵菜單中選擇「屬性」選項,之後將出現下圖第二張圖所示的界面。切換到「安全性」選項卡,在「伺服器驗證方式」下選擇「sql server和windows身份驗證模式」,點擊「確定」保存退出。
第六步:右擊連接資料庫的登錄用戶,在出現的右鍵菜單中選擇「停止」選項,停止伺服器進程,在出現的提示窗體中選擇「是」。
第七步:當sql server伺服器圖標變為黃色的時候,依然右擊它,點擊「啟動」,在出現的提示窗體中選擇「是」。
第八步:關閉microsoft sql server,重新以sa用戶登錄,便可以成功利用sql server登錄驗證方式登錄sql server。
④ sql 語句 驗證身份證號碼
幫你搜了一下,參考參考。
主要驗證SQL資料庫中已輸入的15位 及18位 身份證號碼的位數、出生年月日是否正確,
可以過濾出大部分的輸入錯誤。
or (len(身份證號)=18 and (Substring(身份證號,7,2)<'19' or Substring(身份證號,7,2)>'20'
or (Substring(身份證號,11,2)>12)
or (Substring(身份證號,11,2) in (01,03,05,07,08,10,12) and Substring(身份證號,13,2)>31)
or (Substring(身份證號,11,2) in (04,06,09,11) and Substring(身份證號,13,2)>30)
or (Substring(身份證號,11,2)=02 and Substring(身份證號,13,2)>29)))
---------------------- 下面是針對 15位 及18位 身份證號碼性別的驗證語句 ------------------
-- Access 不支持 Substring 查詢,可以替換為 mid 查詢。
select 序號,姓名,身份證號,性別
from 身份表
where (((len(身份證號)=15) and (Substring(身份證號,15,1) in (1,3,5,7,9)) and 性別<>'男')
or ((len(身份證號)=15) and (Substring(身份證號,15,1) in (2,4,6,8,0)) and 性別<>'女'))
or (((len(身份證號)=18) and (Substring(身份證號,17,1) in (1,3,5,7,9)) and 性別<>'男')
or ((len(身份證號)=18) and (Substring(身份證號,17,1) in (2,4,6,8,0)) and 性別<>'女'))
---------------------- 下面是針對 15位 及18位 身份證號碼位數與出生年月日的驗證 ------------------
-- Access 不支持 Substring 查詢,可以替換為 mid 查詢。
select 序號,姓名,身份證號,性別
from 身份表
where (len(身份證號)<>15 and len(身份證號)<>18)
or (len(身份證號)=15 and ((Substring(身份證號,9,2)>12)
or (Substring(身份證號,11,2) > 31)
or (Substring(身份證號,9,2) in (01,03,05,07,08,10,12) and Substring(身份證號,11,2)>31)
or (Substring(身份證號,9,2) in (04,06,09,11) and Substring(身份證號,11,2)>30)
or (Substring(身份證號,9,2)=02 and Substring(身份證號,11,2)>29)))
⑤ 如何通過SQL語言檢索身份證號的尾號驗證
不是很理解你的意思、、檢索尾號為1
select*fromtablewhereidcardlike'%1'
⑥ sql中判斷身份證號碼的出生年月是否正確合法
好辦呀 oracle-sql
select substr(身份證號,7,8) from al;
這樣取出的就是出生年月日了
⑦ SQL Server 2008伺服器的兩種身份驗證方式有什麼區別
1、Windows身份驗證和SQL身份驗證都是資料庫身份驗證的一種,身份驗證是用以識別數據的操作者身份。不管使用哪種身份驗證,只要具有資料庫或表的相關許可權,那麼均可以對資料庫及表進行相關的許可權范圍之內的增刪查改的操作,所操作後的數據都是相互影響;
2、Windows身份驗證和SQL身份驗證的區別不是許可權,因為不管是Windows用戶(包括伺服器本地用戶及活動目錄用戶)還是SQL用戶,都需要在SQL管理器中進行授予許可權後,才能在許可權范圍之內操作。樓上所說的windows用戶登錄默認windows管理員為資料庫的管理員,這種說法是錯誤的,SQL2008在安裝時,會讓你添加至少一個SQL管理員,一般來說都會添加當前的Windows用戶為默認的資料庫管理員,當然也可以添加其它任何Windows用戶作為資料庫管理員(並不是Windows管理員就會是資料庫管理員),在此也可以決定是否啟用SQL身份驗證,如果啟用,那麼則需要為SQL用戶SA設置一個密碼。
那麼區別在於,一個使用SQL單獨用戶,一個使用Windows用戶,使用Windows用戶可以極大的方便管理員的管理,統一用戶身份驗證(一般使用活動目錄用戶,在實踐環境中,一般企業都會有自己的活動目錄,如果使用SQL用戶的話,管理員則需要記憶和維護兩套用戶名及密碼,在這種情況下就會使用Windows用戶,SQL可以直接調用Windows用戶並授予資料庫及表相關許可權。那麼在有許可權的情況下,管理員可以直接使用自己的域用戶來登陸連接SQL資料庫)
3、只要有相關的許可權,所登陸到的數據當然是一樣,前面已經說過,身份驗證是用以識別數據的操作者身份,那麼不管以何種身份登陸,只要具有相關許可權,那麼均可以對資料庫及表進行相關的許可權范圍之內的增刪查改的操作。
⑧ SQL函數驗證身份證號碼是否有效
SQL函數驗證身份證號碼是否有效
比如身份證號在C列,D2:
=IF(MID("10X98765432",MOD(SUM(MID(C2,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)*2^(18-{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17})),11)+1,1)=RIGHT(C2),"身份證正確","身份證錯誤")
數組公式,按CTRL+SHIFT+回車結束,下拉。
⑨ sql server身份驗證模式有哪些
windows身份驗證模式和SQL server身份驗證模式
主要集中在信任連接和非信任連接。
windows 身份驗證相對於混合模式更加安全,使用本連接模式時候,sql不判斷sa密碼,而僅根據用戶的windows許可權來進行身份驗證,我們稱為「信任連接」,但是在遠程連接的時候會因NTML驗證的緣故,無法登陸。
混合模式驗證就比較既當本地用戶訪問sql時候採用windows身份驗證建立信任連接,當遠程用戶訪問時由於未通過windows認證,而進行sql server認證(使用sa的用戶也可以登錄sql),建立「非信任連接」,從而使得遠程用戶也可以登錄。
更加直接一些就是windows身份驗證,不驗證sa密碼,如果windows登錄密碼不正確,無法訪問sql,混合模式既可以使用windows身份驗證登錄,有可以在遠程使用sa密碼登錄。
准確來說,混合身份驗證模式,也就是基於Windows
身份驗證和SQL Server身份混合驗證。在這個模式中,系統會判斷賬號在Windows操作系統
下是否可信,對於可信連接,系統直接採用Windows身份驗證機制,而非可信連接,這個連接
不僅包括遠程用戶還包括本地用戶,SQL Server 會自動通過賬戶的存在性和密碼的匹配
性來進行驗證。