2012-04-09 2 views
0

Форма клиента Мне нужно передать аргумент SYSDATE в PL/SQL. На сервере он должен быть преобразован в дату, для которого iam использует TO_DATE (in_timestamp, 'DD-MON-YYYY HH24: MI: SS'); Каким должен быть тип данных in_timestamp?Тип данных ввода Oracle SYSDATE

+1

: Если вы передаете 'SYSDATE' в' in_timestamp', тогда тип данных будет иметь тип 'DATE'. Вы возвращаете одну и ту же переменную после ее преобразования? –

+0

Я не буду возвращать какое-либо значение из процедуры. – sach

+0

: затем перейдите к 'date', как упоминалось в« Ответы Erkan Haspulat' » –

ответ

5

SYSDATE само по себе является date, и кажется, что цель поле также date (Поскольку вы использовали TO_DATE()). Таким образом, вам здесь не нужна конверсия.

Просто передайте SYSDATE и используйте его в своем блоке PL/SQL, то есть in_timestamp должно быть датой.

0

Насколько TO_DATE обеспокоен вы можете иметь CHAR, VARCHAR или VARCHAR2 (рекомендуется), в основном это должно быть Струнный типа, следующие примеры предполагают: -

to_date('2003/07/09', 'yyyy/mm/dd') would return a date value of July 9, 2003. 
to_date('070903', 'MMDDYY') would return a date value of July 9, 2003. 
to_date('20020315', 'yyyymmdd') would return a date value of Mar 15, 2002. 

Вы можете найти более подробную информацию, связанную с TO_DATE на this link,

EDIT

* "Тем не менее, если вы передаете SYSDATE вам dont't нужно использовать TO_ ДАТА снова, потому что это уже значение даты ... "* как было упомянуто @Gaurav и, следовательно, DATATYPE из in_timestamp должен быть ДАТА ..

+0

: Если он передаёт sysdate, то почему его следует рекомендовать хранить в varchar * ?, –

+0

Спасибо @GauravSoni plz см. Edit ... – aProgrammer

Смежные вопросы