達夢數據庫用函數實現身份證合法校驗

達夢數據庫用函數實現身份證合法校驗

拿走不謝~

CREATE OR REPLACE FUNCTION CHECK_IDCARD(A_SFZ IN VARCHAR2)
RETURN VARCHAR2
IS
TYPE WEIGHT_TAB IS VARRAY(17) OF NUMBER; 
TYPE CHECK_TAB IS VARRAY(11) OF CHAR;
WEIGHT_FACTOR WEIGHT_TAB := WEIGHT_TAB(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
CHECK_CODE CHECK_TAB := CHECK_TAB('1','0','X','9','8','7','6','5','4','3','2');
SUM_VAL NUMBER := 0;
MOD_VAL NUMBER;
BEGIN
IF LENGTH(A_SFZ) != 18 THEN RETURN '-1'; END IF; -- 長度校驗
FOR I IN 1..17 LOOP
IF SUBSTR(A_SFZ,I,1) NOT BETWEEN '0' AND '9' THEN RETURN '-1'; END IF; -- 數字檢查
SUM_VAL := SUM_VAL + TO_NUMBER(SUBSTR(A_SFZ,I,1)) * WEIGHT_FACTOR(I); -- ORACLE數組下標訪問
END LOOP;
MOD_VAL := MOD(SUM_VAL,11);
IF SUBSTR(A_SFZ,18,1) != CHECK_CODE(MOD_VAL+1) THEN RETURN '0'; END IF; -- 校驗碼比對
RETURN '1'; -- 驗證通過
END;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76503.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76503.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76503.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

3dmax的python通過普通的攝像頭動捕表情

1、安裝python 進入cdm,打python要能顯示版本號 >>>(進入python提示符模式) import sys sys.path顯示python的安裝路徑, 進入到python.exe的路徑 在python目錄中安裝(ctrlz退出python交互模式) 2、pip install mediapipe…

國產Linux統信安裝mysql8教程步驟

系統環境 uname -a Linux FlencherHU-PC 6.12.9-amd64-desktop-rolling #23.01.01.18 SMP PREEMPT_DYNAMIC Fri Jan 10 18:29:31 CST 2025 x86_64 GNU/Linux下載離線安裝包 瀏覽器下載https://downloads.mysql.com/archives/get/p/23/file/mysql-test-8.0.33-linux-glibc2.28…

Vite 權限繞過導致任意文件讀取(CVE-2025-32395)(附腳本)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 前言…

poi-tl

官網地址 Poi-tl Documentationword模板引擎https://deepoove.com/poi-tl github 地址 https://github.com/Sayi/poi-tl/tree/master gitcode 加速地址 GitCode - 全球開發者的開源社區,開源代碼托管平臺GitCode是面向全球開發者的開源社區,包括原創博客,開源代碼托管,代碼…

操作系統 4.1-I/O與顯示器

外設工作起來 操作系統讓外設工作的基本原理和過程,具體來說,它概括了以下幾個關鍵步驟: 發出指令:操作系統通過向控制器中的寄存器發送指令來啟動外設的工作。這些指令通常是通過I/O指令(如out指令)來實現…

琥珀掃描 2.0.5.0 | 文檔處理全能助手,支持掃描、文字提取及表格識別

琥珀掃描是一款功能強大的文檔處理應用程序。它不僅僅支持基本的文檔掃描功能,還涵蓋了文字提取、證件掃描、表格識別等多種實用功能。無論是學生、職員還是教師,都能從中找到適合自己的功能。該應用支持拍照生成電子件,并能自動矯正文檔邊緣…

jQuery UI 小部件方法調用詳解

jQuery UI 小部件方法調用詳解 引言 jQuery UI 是一個基于 jQuery 的用戶界面和交互庫,它提供了一系列小部件,如按鈕、對話框、進度條等,這些小部件極大地豐富了網頁的交互性和用戶體驗。本文將詳細介紹 jQuery UI 中小部件的方法調用,幫助開發者更好地理解和應用這些小部…

浮點數比較在Eigen數學庫中的處理方法

浮點數比較在Eigen數學庫中的處理方法 在Eigen數學庫中進行浮點數比較時,由于浮點數的精度問題,直接使用運算符通常不是推薦的做法。Eigen提供了幾種更安全的方法來進行浮點數比較: 1. 近似相等比較 使用isApprox()函數進行近似比較&#…

Linux-----驅動

一、內核驅動與啟動流程 1. Linux內核驅動 Nor Flash: 可線性訪問,有專門的數據及地址總線(與內存訪問方式相同)。 Nand Flash: 不可線性訪問,訪問需要控制邏輯(軟件)。 2. Linux啟動流程 ARM架構: IRAM…

Wincc腳本全部不運行

Wincc腳本全部不運行 前言解決辦法操作步驟 前言 這里主要是指舊項目移植到Wincc的高版本,移植后界面的一些功能均會失效。(例如腳本不執行,項目編輯器不可用等情況) 解決辦法 Wincc的項目文件中有Dcf文件,Dcf文件包…

使用numpy構建邏輯回歸模型及訓練流程

邏輯回歸模型構建及訓練流程 關于邏輯回歸的數據,有很多學習?的?例樣本。這?我們使?scikit learn提供的數據集?成函數來創建 具體參數可參照官網 Scikit-learn 是? Python 開發的開源機器學習庫,?泛?于數據挖掘和數據分析。 特點:易…

python的多線程和多進程程序編程

CPU密集型使用多進程,IO密集型使用多線程 查看進程ID和線程ID的命令分別是os.getpid()和threading.current_thread() 多進程使用multiprocessing就可以了,通常使用進程池來完成操作,阻塞主進程使用join方法 多線程使用threading模塊&#…

代碼隨想錄算法訓練營第十五天

LeetCode題目: 654. 最大二叉樹617. 合并二叉樹700. 二叉搜索樹中的搜索98. 驗證二叉搜索樹2843. 統計對稱整數的數目 其他: 今日總結 往期打卡 654. 最大二叉樹 跳轉: 654. 最大二叉樹 學習: 代碼隨想錄公開講解 問題: 給定一個不重復的整數數組 nums 。 最大二叉樹 可以用…

[GN] Uart協議解碼器源碼各個方法

系列文章目錄 sigrokdecode 模塊學習指南 — 準備階段 通訊協議 - Uart sigrokdecode 模塊 UART協議解碼器源碼解析 Uart協議解碼器源碼各個方法 文章目錄 系列文章目錄引入庫parity_ok注解類型枚舉options參數annotations 注解annotation_rows 注解分組接收(RX&a…

技術分享|iTOP-RK3588開發板Ubuntu20系統旋轉屏幕方案

iTOP-3588開發板采用瑞芯微RK3588處理器,是全新一代AloT高端應用芯片,采用8nmLP制程,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構,主頻高達2.4GHz。是一款可用于互聯網設備和其它數字多媒體的高性能產品。 在…

Unity IL2CPP內存泄漏追蹤方案(基于Memory Profiler)技術詳解

一、IL2CPP內存管理特性與泄漏根源 1. IL2CPP內存架構特點 內存區域管理方式常見泄漏類型托管堆(Managed)GC自動回收靜態引用/事件訂閱未取消原生堆(Native)手動管理非托管資源未釋放橋接層GCHandle/PInvoke跨語言引用未正確釋放 對惹,這里有一個游戲開發交流小組…

消融實驗_草稿

五列數據 \begin{table}[htbp]\caption{Performance Comparison of Standalone KD Variants vs MIRKD-enhanced Variants on ACNE04 Dataset\label{AblationKD}}\centering\renewcommand{\arraystretch}{1.2}\scriptsize\begin{tabularx}{\linewidth}{{}l *{3}{>{\centering…

面向對象高級(1)

文章目錄 final認識final關鍵字修飾類:修飾方法:修飾變量final修飾變量的注意事項 常量 單例類什么是設計模式?單例怎么寫?餓漢式單例的特點是什么?單例有啥應用場景,有啥好處?懶漢式單例類。 枚舉類認識枚…

不用額外下載jar包,idea快速查看使用的組件源碼

以nacos為例子,在idea中引入了nacos依賴,就可以查看源碼了。 2. idea選擇open(不關閉項目直接選擇file-open也可以), 在maven的倉庫里找到對應的包,打開 2.idea中選擇 jar包,選擇 add as library 3.這樣j…

小白學習java第12天:IO流之緩沖流

1.IO緩沖流: 之前我們學習的都是原始流(FileInputStream字節輸入流、FileOutputStream字節輸出流、FIleReader字符輸入流、FIleWriter字符輸出流)其實我們可以知道對于這些其實性能都不是很好,要么太慢一個一個,要么就…