2013-10-10 4 views
-1

Дата в таблице1 находится в формате «yyyymmdd», но дата в таблице2 находится в формате «yyyy/mm/dd». и я хочу вставить данные непосредственно из таблицы1 в таблицу2. Для примера. Формат даты в таблице 1 равен '20130813', а формат даты в таблице2 - '08/13/2013 12: 00: 00.000 AM '. Здесь 12: 00: 00.000 AM - это отметка времени по умолчанию. Не могли бы вы помочь в преобразовании даты с '20130813' в '08/13/2013 12: 00: 00.000 AM 'в sybase?конвертировать yyyymmdd в yyyy/mm/dd в sybase

+0

В большинстве баз данных используется 12: 00: 00 000 AM tim e при инициализации даты. Проверьте руководство Sybase. Кроме того, какие типы данных являются вашими датами в таблице 1 и таблице2? –

+0

таблица1 это дата и для таблицы2 это дата и время – Pooja25

ответ

0

Я не имея в данный момент установлен Sybase, но вы можете попробовать

SELECT CONVERT(datetime, '20131031') 

например

INSERT INTO TABLEA SELECT CONVERT(datetime, TABLEBCOLUMN) 
+0

31.10.2013 12:00:00 AM -> это то, что ваш выбор дал в Sybase. Миллисекунда отсутствует. –

+0

В sybase он отображается как 10/31/2013 12: 00: 00.000 AM – Pooja25

-1

Вы также можете попробовать:

select cast(dateformat('20131031','yyyymmdd') as datetime) 

Преимущества:

  • Не полагаясь на неявное преобразование на сегодняшний день
  • CONVERT функции не ANSI SQL
+0

Не работает в Sybase – Achow

+0

Он работает в Sybase IQ 15.4. Какую базу данных Sybase вы используете? –

+0

Я использую Sybase ASE 11 – Achow

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