我有一个带有5个记录的字段sourcefilename的表。以下是记录。检查字符串是否有效
SN. SOURCEFILENAME
1. 20170215095453_1.Iredell Memorial Hospital Dental Eligibility.xls_INFREPT01.txt
2. Iredell Memorial Hospital Eligibility April 2017.xls_INFREPT01.txt
3. Iredell Memorial Hospital Eligibility March 2017.xls_INFREPT01.txt
4. Iredell Memorial Hospital Eligibility May 2017.xls_INFREPT01.txt
5. Iredell Memorial Hospital October 2016 Dental Eligibility.xls_EligData.txt
我只需要提取前8个字符,并检查它是否有效的日期。如果是有效日期,则返回TRUE else FALSE。
我试过了ISDATE函数。还有其他的选择吗?
SELECT DISTINCT SubStr(sourcefilename,1,8),
CASE WHEN isdate(SubStr(sourcefilename,1,8),'YYYYMMDD') = 1 THEN 'TRUE' ELSE 'FALSE' END FROM ai_4451_1_metl;
@ user7294900:如果使用TO_DATE。比较什么价值? SELECT DISTINCT SubStr(sourcefilename,1,8), CASE WHEN to_Date(SubStr(sourcefilename,1,8),'YYYYMMDD')= ???????? THEN'TRUE' ELSE'FALSE'END FROM ai_4451_1_metl; –