簡體   English   中英

從Oracle將NOT REGEXP_LIKE替換為Postgres

[英]Replace of NOT REGEXP_LIKE from Oracle to Postgres

請幫助我如何遷移到下面的在Oracle中使用NOT REGEXP_LIKE的代碼:

  UPDATE TBL_RESOURCEAVAILUPLOAD
    SET IS_VALID_AVAILABILITY = 0,
      ERROR_CODE = 'DATA-ERR',
      ERROR_MESSAGE = CONCAT(ERROR_MESSAGE,' Start date or end date is not in proper format. It should be in MM/DD/YYYY format.,')
        WHERE ( **NOT REGEXP_LIKE** (STARTDATE, '(0[0-9]|1[0-2])/(0[0-9]|1[0-9]|2[0-9]|3[0-1])/([0-9][0-9][0-9][0-9])')
                        OR
                        **NOT REGEXP_LIKE** (ENDDATE, '(0[0-9]|1[0-2])/(0[0-9]|1[0-9]|2[0-9]|3[0-1])/([0-9][0-9][0-9][0-9])') )
                     AND BATCH_ID = 21354
                      AND COUNTRY_ID = '76';

請嘗試這個

 UPDATE TBL_RESOURCEAVAILUPLOAD 
    SET IS_VALID_AVAILABILITY = 0,
    ERROR_CODE = 'DATA-ERR', 
    ERROR_MESSAGE = CONCAT(ERROR_MESSAGE,' Start date or end date is not in proper format. It should be in MM/DD/YYYY format.,') 
  WHERE ( 
        STARTDATE !~ '(0[0-9]|1[0-2])/(0[0-9]|1[0-9]|2[0-9]|3[0-1])/([0-9][0-9][0-9][0-9])' 
        OR ENDDATE !~ '(0[0-9]|1[0-2])/(0[0-9]|1[0-9]|2[0-9]|3[0-1])/([0-9][0-9][0-9][0-9])'
        )
    AND BATCH_ID = 21354 
    AND COUNTRY_ID = '76';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM