如何在Oracle中判断一个字符串是否为日期(oracle判断是否是日期)

在Oracle中,我们可以使用TO_DATE()来判断一个字符串是否为日期。

TO_DATE()函数可以将一个字符串转换成一个日期类型,如果输入的字符串不符合日期格式,或不能被转换成日期,将会产生一个错误。我们可以利用这一点来判断一个字符串是否为日期:

例如,我们需要判断一个字符串 str 是否为日期:

首先,我们定义一个错误处理的块:

BEGIN

NULL;

EXCEPTION

WHEN OTHERS THEN

err_message := SQLCODE || ‘ ‘ || SQLERRM;

END;

接下来,定义一个变量err_message,用来存放错误信息:

customer_id VARCHAR2(30);

err_message VARCHAR2(1000);

最后,我们尝试将字符串str转换为日期:

BEGIN

TO_DATE(str);

EXCEPTION

WHEN OTHERS THEN

err_message := SQLCODE || ‘ ‘ || SQLERRM;

END;

如果err_message 不为空,那么说明str不是一个合法的日期字符串,反之则是。

举个例子,str为’2019-04-20’, 那么err_message 将为空,而’2019-04-30’将不会返回空结果,因为实际上4月没有30号。


数据运维技术 » 如何在Oracle中判断一个字符串是否为日期(oracle判断是否是日期)