日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解如何校驗MySQL及Oracle時間字段合規性

瀏覽:22日期:2023-08-02 20:12:38
目錄背景信息Oracle 時間數據校驗方法創建測試表并插?測試數據創建對該表的錯誤日志記錄創建并插入數據到臨時表,驗證時間數據有效性校驗錯誤記錄MySQL 數據庫的方法創建測試表模擬低版本不規范數據創建臨時表進行數據規范性驗證數據比對一個取巧的小方法關于 SQLESQLE 獲取背景信息

在數據遷移或者數據庫低版本升級到高版本過程中,經常會遇到一些由于低版本數據庫參數設置過于寬松,導致插入的時間數據不符合規范的情況而觸發報錯,每次報錯再發現處理起來較為麻煩,是否有提前發現這類不規范數據的方法,以下基于 Oracle 和 MySQL 各提供一種可行性方案作為參考。

Oracle 時間數據校驗方法創建測試表并插?測試數據CREATE TABLE T1(ID NUMBER,CREATE_DATE VARCHAR2(20));INSERT INTO T1 SELECT 1, '2007-01-01' FROM DUAL;INSERT INTO T1 SELECT 2, '2007-99-01' FROM DUAL; -- 異常數據INSERT INTO T1 SELECT 3, '2007-12-31' FROM DUAL;INSERT INTO T1 SELECT 4, '2007-12-99' FROM DUAL; -- 異常數據INSERT INTO T1 SELECT 5, '2005-12-29 03:-1:119' FROM DUAL; -- 異常數據INSERT INTO T1 SELECT 6, '2015-12-29 00:-1:49' FROM DUAL; -- 異常數據創建對該表的錯誤日志記錄Oracle 可以調用 DBMS_ERRLOG.CREATE_ERROR_LOG 包對 SQL 的錯誤進行記錄,用來記錄下異常數據的情況,十分好用。

參數含義如下

T1 為表名T1_ERROR 為對該表操作的錯誤記錄臨時表DEMO 為該表的所屬用戶EXEC DBMS_ERRLOG.CREATE_ERROR_LOG('T1','T1_ERROR','DEMO');創建并插入數據到臨時表,驗證時間數據有效性-- 創建臨時表做數據校驗CREATE TABLE T1_TMP(ID NUMBER,CREATE_DATE DATE);-- 插入數據到臨時表驗證時間數據有效性(增加LOG ERRORS將錯誤信息輸出到錯誤日志表)INSERT INTO T1_TMP SELECT ID, TO_DATE(CREATE_DATE, 'YYYY-MM-DD HH24:MI:SS')FROM T1 LOG ERRORS INTO T1_ERROR REJECT LIMIT UNLIMITED;校驗錯誤記錄SELECT * FROM DEMO.T1_ERROR;

其中 ID 列為該表的主鍵,可用來快速定位異常數據行。

MySQL 數據庫的方法創建測試表模擬低版本不規范數據-- 創建測試表SQL> CREATE TABLE T_ORDER( ID BIGINT AUTO_INCREMENT PRIMARY KEY, ORDER_NAME VARCHAR(64), ORDER_TIME DATETIME);-- 設置不嚴謹的SQL_MODE允許插入不規范的時間數據SQL> SET SQL_MODE='STRICT_TRANS_TABLES,ALLOW_INVALID_DATES';SQL> INSERT INTO T_ORDER(ORDER_NAME,ORDER_TIME) VALUES ('MySQL','2022-01-01'),('Oracle','2022-02-30'),('Redis','9999-00-04'),('MongoDB','0000-03-00');-- 數據示例SQL> SELECT * FROM T_ORDER;+----+------------+---------------------+| ID | ORDER_NAME | ORDER_TIME |+----+------------+---------------------+| 1 | MySQL | 2022-01-01 00:00:00 || 2 | Oracle | 2022-02-30 00:00:00 || 3 | Redis | 9999-00-04 00:00:00 || 4 | MongoDB | 0000-03-00 00:00:00 |+----+------------+---------------------+創建臨時表進行數據規范性驗證-- 創建臨時表,只包含主鍵ID和需要校驗的時間字段SQL> CREATE TABLE T_ORDER_CHECK( ID BIGINT AUTO_INCREMENT PRIMARY KEY, ORDER_TIME DATETIME);-- 設置SQL_MODE為5.7或8.0高版本默認值SQL> SET SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';-- 使用INSERT IGNORE語法插入數據到臨時CHECK表,忽略插入過程中的錯誤SQL> INSERT IGNORE INTO T_ORDER_CHECK(ID,ORDER_TIME) SELECT ID,ORDER_TIME FROM T_ORDER;數據比對

將臨時表與正式表做關聯查詢,比對出不一致的數據即可。

SQL> SELECT T.ID, T.ORDER_TIME AS ORDER_TIME, TC.ORDER_TIME AS ORDER_TIME_TMPFROM T_ORDER T INNER JOIN T_ORDER_CHECK TC ON T.ID=TC.IDWHERE T.ORDER_TIME<>TC.ORDER_TIME;+----+---------------------+---------------------+| ID | ORDER_TIME | ORDER_TIME_TMP |+----+---------------------+---------------------+| 2 | 2022-02-30 00:00:00 | 0000-00-00 00:00:00 || 3 | 9999-00-04 00:00:00 | 0000-00-00 00:00:00 || 4 | 0000-03-00 00:00:00 | 0000-00-00 00:00:00 |+----+---------------------+---------------------+一個取巧的小方法

對時間字段用正則表達式匹配,對有嚴謹性要求的情況還是得用以上方式,正則匹配燒腦。

-- Oracle 數據庫SELECT * FROM T1 WHERE NOT REGEXP_LIKE(CREATE_DATE,'^((?:19|20)\d\d)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$'); ID CREATE_DATE---------- -------------------- 2 2007-99-01 4 2007-12-99 5 2005-12-29 03:-1:119 6 2015-12-29 00:-1:49-- MySQL 數據庫-- 略,匹配規則還在調試中關于 SQLE

愛可生開源社區的 SQLE 是一款面向數據庫使用者和管理者,支持多場景審核,支持標準化上線流程,原生支持 MySQL 審核且數據庫類型可擴展的 SQL 審核工具。

SQLE 獲取類型地址版本庫https://github.com/actiontech/sqle文檔https://actiontech.github.io/sqle-docs/發布信息https://github.com/actiontech/sqle/releases數據審核插件開發文檔https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_audit...

以上就是詳解如何校驗MySQL及Oracle時間字段合規性的詳細內容,更多關于MySQL Oracle時間字段合規性的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费日韩精品中文字幕视频在线| 欧美在线首页| 久久一区亚洲| 久久精品国产在热久久| 国产精品对白久久久久粗| 亚洲精品日本| 欧美日韩中文| 久久久精品区| 日本美女一区| 欧美亚洲激情| av成人国产| 日本中文字幕视频一区| 久久精品青草| 国产精品嫩草99av在线| 亚洲精品三级| 久久av免费| 日韩在线不卡| 午夜在线观看免费一区| 日本不卡一区二区三区| 国产精品自拍区| 久久精品人人| 亚洲高清成人| 四虎精品一区二区免费| 亚洲久久视频| 国产精品magnet| 日韩欧美在线中字| 亚洲午夜免费| 国产精品99久久免费| 成人在线网站| 亚洲精品亚洲人成在线观看| 国产在线观看91一区二区三区| 久久久久99| 亚洲有吗中文字幕| 国产精品伦一区二区| 久久激情一区| 丝袜亚洲精品中文字幕一区| 国产日韩一区二区三区在线| 国产第一亚洲| 麻豆亚洲精品| 麻豆中文一区二区| 国产一区日韩欧美| 日韩avvvv在线播放| 天堂√8在线中文| 国产日韩专区| 麻豆精品在线观看| 不卡在线一区| 国产精品天天看天天狠| 日韩和的一区二在线| 美女亚洲一区| 国产精品任我爽爆在线播放| 91看片一区| 日韩中文字幕一区二区高清99| 成人黄色av| 美女91精品| 日韩大片在线观看| 日本国产一区| 精品一区在线| 久草精品视频| 天堂va欧美ⅴa亚洲va一国产| 婷婷综合六月| 国产日产高清欧美一区二区三区| 欧美午夜精彩| 里番精品3d一二三区| 性色一区二区| 亚洲天堂av影院| 日韩欧美中文字幕电影| 成人免费电影网址| 国产伦精品一区二区三区在线播放| 欧美日韩国产在线观看网站 | 香蕉人人精品| 久久久久久久久成人| 久久aⅴ国产紧身牛仔裤| 国产精品分类| 日韩毛片一区| 欧美另类综合| 麻豆mv在线观看| 日本久久一区| 亚洲视频www| 色老板在线视频一区二区| 国产高清精品二区| 亚洲一区二区日韩| 不卡中文字幕| 久久精品国产68国产精品亚洲| 欧美极品中文字幕| 日本在线不卡视频一二三区| 国产精品人人爽人人做我的可爱| 亚洲1234区| av最新在线| 久久中文字幕一区二区| 日韩高清欧美激情| 亚洲一区二区三区四区电影 | 日本在线不卡视频一二三区| 尤物网精品视频| 亚洲精品.com| 91视频一区| 美女精品久久| 欧美1区2区3| 国产精品网在线观看| 欧美在线精品一区| 亚洲伊人精品酒店| 亚洲黄页一区| 亚洲免费高清| 在线视频免费在线观看一区二区| 91精品国产福利在线观看麻豆| 日韩制服丝袜先锋影音| 尹人成人综合网| 在线观看免费一区二区| 欧洲亚洲一区二区三区| 中文字幕人成乱码在线观看| 久久伊人久久| 久久天堂影院| 美腿丝袜亚洲一区| 国产精东传媒成人av电影| 国产探花在线精品一区二区| 日本欧美一区| 国产精品久久久久久久久免费高清| 日韩欧美一区二区三区免费观看| 日韩欧美午夜| 国产综合精品| 日韩精品一区二区三区免费观看| а√在线中文在线新版| 福利精品在线| a日韩av网址| 蜜桃tv一区二区三区| 午夜宅男久久久| 亚洲久草在线| 国产欧美一区二区精品久久久 | 青草久久视频| 青青草国产成人99久久| 日韩精品视频网| 69堂免费精品视频在线播放| 久久gogo国模啪啪裸体| 国产精品成人一区二区不卡| 日韩精品欧美| 亚洲一区成人| 亚洲精品伊人| 国产精品夜夜夜| 91一区二区三区四区| 天堂а√在线最新版中文在线| 精精国产xxxx视频在线播放| 九一国产精品| 亚洲精品乱码日韩| 国产探花一区二区| 日本一区二区免费高清| 激情欧美亚洲| 综合欧美精品| 国产免费av一区二区三区| 成人午夜网址| 欧美 日韩 国产一区二区在线视频 | 日韩av二区在线播放| 久久99精品久久久野外观看| 日本一二区不卡| 91成人精品视频| 日韩中文字幕1| 国产激情久久| 欧美日韩在线二区| 亚洲精品无播放器在线播放| 国产极品嫩模在线观看91精品| 日本а中文在线天堂| 亚洲欧美日韩专区| 国产精品调教视频| 91精品精品| 亚洲精品第一| 精品国产成人| aⅴ色国产欧美| 国产精品久久久久久妇女| 成人午夜国产| 亚洲免费精品| 国产日韩中文在线中文字幕 | 欧美aa在线视频| 欧美不卡视频| 日韩福利在线观看| sm久久捆绑调教精品一区| 亚洲作爱视频| 久久香蕉精品香蕉| 成人av二区| 国产精品三级| 婷婷精品进入| 国产精品**亚洲精品| 午夜久久影院| 欧美伊人影院| 久久国产尿小便嘘嘘| 麻豆精品在线视频| 欧产日产国产精品视频| 在线亚洲激情| 精品亚洲美女网站| 亚洲成a人片| 日韩av一二三| 免费不卡中文字幕在线| 国产亚洲人成a在线v网站| 午夜亚洲福利在线老司机| 亚洲九九精品| 国产精品高清一区二区| 亚洲精品在线a| 国产日韩电影| 黄色成人在线网址| 麻豆精品视频在线观看免费| 欧美一级精品| 国产一区二区三区成人欧美日韩在线观看| 欧美aa国产视频|