سؤال

لدي سلسلة تحتاج إلى استخراج التاريخ،

مثال:S01_XXX001_000_min_01_20150526ت123440583.قوس S01_XXX001_000_20150526ت123440583_min_01.arc

بناءً على النمط مثل "رقمي T رقمي',

أحاول الاستخراج باستخدام SQL أدناه، هل يمكن لأي أحد أن يساعدني.

SQL:

select  substring('S01_ZAR001_000_min_01_20150526T123440583.arc','^\d')

select  substring('SAPCC_XX_ZZZ_BitClass_XXX_20150623T45656566456_XXX_XX_XXXXXX.arc' like '_%T%_',1,8)

select  substring('SAPCC_XX_ZZZ_BitClass_XXX_201506235T335656_XXX_XX_XXXXXX.arc','[^_]+([^0-9]{1,8})$')

SELECT SUBSTRING('XY1234Z', 'Y*([0-9]{1,3})');
هل كانت مفيدة؟

المحلول

select substr(
        substring('SAPCC_XX_ZZZ_Bit1T1Class_XXX_201506235T335656_XXX_XX_XXXXXX'
                  from 
                  '_[0-9]+T[0-9]+_'
                 ), 2, 8
             )::date
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى dba.stackexchange
scroll top