1. 程式人生 > >postgresql數據庫中判斷是否是數字和日期時間格式函數

postgresql數據庫中判斷是否是數字和日期時間格式函數

logs lang 是否 var 數據 ret lan 函數 true

/*
在編寫GreenPlum函數的過程中,遇到要判斷字符串是否是數字和日期格式的情況,基於GreenPlum和postgresql的親緣關系,找到了下面兩個函數。
*/

--1.判斷字符串是否是數字  
CREATE OR REPLACE FUNCTION isnumeric(txtStr VARCHAR) RETURNS BOOLEAN  
AS  
$$  
BEGIN  
  
RETURN txtStr ~ ‘^([0-9]+[.]?[0-9]*|[.][0-9]+)$‘;  
  
  
END;  
$$  
LANGUAGE ‘plpgsql‘;  

--2.判斷傳入的字符串是否是日期格式 

CREATE OR REPLACE FUNCTION isDate(dateStr VARCHAR) RETURNS BOOLEAN  
AS  
$$  
BEGIN  
  
IF (dateStr IS NULL) THEN   
     RETURN FALSE;   
END IF;   
     PERFORM dateStr::timestamp;   
     RETURN TRUE;   
EXCEPTION   
     WHEN others THEN   
     RETURN FALSE;   
  
  
END;  
$$  
LANGUAGE ‘plpgsql‘;  

  

postgresql數據庫中判斷是否是數字和日期時間格式函數