Log Parser2.2 Преобразование TO_DATE и TO_TIMESTAMP

Только начал использовать синтаксический анализатор журналов 2.2, поэтому, пожалуйста, извините меня, если это слишком глупо, но я застрял в преобразовании строки в метку времени.

Следующий запрос дает мне вывод даты в строковом формате из файла журнала.

$>logparser -i:textline -RTP:-1 "SELECT TOP 1 EXTRACT_SUFFIX(text,0,'TIMESTAMP') from 'C:\ptclmgrd.log' where text like '%TIMESTAMP%'"

EXTRACT_SUFFIX(Text, 0, 'TIMESTAMP')
------------------------------------
 2/6/2015

Statistics:
-----------
Elements processed: 951
Elements output:    1
Execution time:     0.03 seconds

Мне нужно вставить указанную выше строку в csv или таблицу, но она должна быть в формате даты.

Если я попробую следующее, результат будет просто -:

$>logparser -i:textline -RTP:-1 "SELECT TOP 1 TO_TIMESTAMP(EXTRACT_SUFFIX(text,0,'TIMESTAMP'),'MM/dd/yyyy') from 'C:\ptclmgrd.log' where text like '%TIMESTAMP%'"

TO_TIMESTAMP(EXTRACT_SUFFIX(Text, 0, 'TIMESTAMP'), 'MM/dd/yyyy')
----------------------------------------------------------------
-

Statistics:
-----------
Elements processed: 951
Elements output:    1
Execution time:     0.01 seconds

Запись файла журнала, которую я пытаюсь проанализировать, выглядит примерно так:

3:12:40 (lmgrd) TIMESTAMP 2/6/2015

Есть идеи, что случилось? Я ожидаю вывод в виде той же строки в формате даты. Я также попробовал M/d/YYYY, но получил тот же результат.


person Vaibhav Mhala    schedule 22.02.2015    source источник


Ответы (1)


Попробуйте использовать строчную букву «y»:

M/d/yyyy

Вот описание элементов отметки времени:

y       1-digit year
yy      2-digit year
yyy     3-digit year
yyyy    4-digit year
M       month as digit without leading zeros
MM      month as digit with leading zeros
MMM     month as 3-character abbreviation of month name
MMMM    month as full month name
d       day as digit without leading zeros
dd      day as digit with leading zeros
ddd     day as 3-character abbreviation of day name
dddd    day as full day name
h,H     hour without leading zeros
hh,HH   hour with leading zeros
m       minutes without leading zeros
mm      minutes with leading zeros
s       seconds without leading zeros
ss      seconds with leading zeros
person Gabriele Giuseppini    schedule 23.02.2015
comment
Спасибо Габриэле. Но результат, который я получаю, прост - (тире). Я ждал свидания. Я также пробовал следующее: logparser -i:textline -RTP:-1 SELECT TOP 1 TO_DATE(TO_TIMESTAMP(EXTRACT_SUFFIX(text,0,'TIMESTAMP'),'M/d/yyyy')) from 'C:\ptclmgrd. log», где текст типа «%TIMESTAMP%», но я просто получаю вывод как - - person Vaibhav Mhala; 24.02.2015
comment
Можете ли вы опубликовать вывод SELECT EXTRACT_SUFFIX (текст, 0, 'TIMESTAMP'), TO_TIMESTAMP (EXTRACT_SUFFIX (текст, 0, 'TIMESTAMP'), 'M/d/yyyy') FROM ...? - person Gabriele Giuseppini; 25.02.2015
comment
Ниже приведен вывод: EXTRACT_SUFFIX (текст, 0, 'TIMESTAMP') TO_TIMESTAMP (EXTRACT_SUFFIX (текст, 0, 'TIMESTAMP'), 'M/d/yyyy') -------------- ---------------------- ------------------------------------------- ---------------------------------- 06.02.2015 - - person Vaibhav Mhala; 03.03.2015
comment
Хорошо, ясно, что результат EXTRACT_SUFFIX имеет начальный пробел. Используйте TRIM() в вызове TO_TIMESTAMP. - person Gabriele Giuseppini; 04.03.2015
comment
Габриэле, это было потрясающее решение!! Работал как шарм !!! Большое спасибо за вашу помощь. Я застрял с этим так долго и не мог понять главного героя Whitespace.... - person Vaibhav Mhala; 11.03.2015