Если приведение строки к типу данных DATE прошло успешно, это допустимая дата, в противном случае это не так.

я есть таблица с полем sourcefilename, которая имеет 5 записей. Ниже приведены записи.

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, иначе 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;

Ответы на вопрос(0)

Ваш ответ на вопрос