Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как выгрузить datetime через BCP? / 8 сообщений из 8, страница 1 из 1
13.02.2006, 17:38
    #33541617
Как выгрузить datetime через BCP?
Нужо из поля типа datetime через bcp выгрузить данные в формате:
yyyy-mm-dd hh:mm:ss.sss
Готового стиля не нашел. Вытаскивать время по частям и конкатенировать не хочется, т.к. выгружать надо много.
...
Рейтинг: 0 / 0
13.02.2006, 18:00
    #33541679
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить datetime через BCP?
0) Пишите VIEW где данные вашего поля представляете в виде строки в этом формате.
1) В BCP пишите вместо таблицы этот VIEW.

Другой вариант - использовать native формат. (-n).
...
Рейтинг: 0 / 0
13.02.2006, 18:10
    #33541711
Как выгрузить datetime через BCP?
MasterZiv0) Пишите VIEW где данные вашего поля представляете в виде строки в этом формате.
1) В BCP пишите вместо таблицы этот VIEW.
Снова получаем конкатенацию, вытаскивая куски даты и времени по частям. Как раз от этого и хотелось бы уйти.

MasterZivДругой вариант - использовать native формат. (-n). Опять нужно преобразовывать с помощью внешней процедуры.
Вопрос как на выходе bcp получить нужный формат.
...
Рейтинг: 0 / 0
13.02.2006, 18:29
    #33541763
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить datetime через BCP?
Так зачем куски ? В одно поле это сложите, символьное. Все там и будет.

А если хотите чисто BCP заставить выводить в нужном формате - ковыряйтесь с настройкой locale в клиенте. Конкретно в переменную LC_TIME надо задать нужный настроенный вами locale с нужным форматом данных. Но только муторно это дело.
...
Рейтинг: 0 / 0
13.02.2006, 21:28
    #33542084
Как выгрузить datetime через BCP?
MasterZivТак зачем куски ? В одно поле это сложите, символьное. Все там и будет.

Вопрос был именно в том, как вытащить такой формат без написания кода в VIEW. Так как если писать такую VIEW, то для каждой колонки datetime появляется код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
convert(varchar( 4 ),datepart(year,col_name))
||'-'||
case when datepart(month,col_name)< 10  then '0' || convert(varchar( 1 ),datepart(month,col_name))
else convert(varchar( 2 ),datepart(month,col_name)) end
||'-'||
case when datepart(day,col_name)< 10  then '0' || convert(varchar( 1 ),datepart(day,col_name))
else convert(varchar( 2 ),datepart(day,col_name)) end
||' '||
convert(varchar( 8 ),col_name, 108 )
||'.'||
case when datepart(ms,col_name)< 10  then '00'+convert(varchar( 1 ),datepart(ms,col_name))
when datepart(ms,col_name)>= 10  and datepart(ms,col_name)< 100  then '0'+convert(varchar( 2 ),datepart(ms,col_name))
else convert(varchar( 3 ),datepart(ms,col_name)) end
что увеличивает время выгрузки ровно вдвое. Может быть кто-то знает, есть ли какой-нибудь стиль вроде 121 в MS SQL Server чтобы получить готовое поле?
...
Рейтинг: 0 / 0
14.02.2006, 01:15
    #33542268
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить datetime через BCP?
А почему вы решили, что это увеличит время выгрузки вдвое ?
...
Рейтинг: 0 / 0
14.02.2006, 11:33
    #33542951
Как выгрузить datetime через BCP?
MasterZivА почему вы решили, что это увеличит время выгрузки вдвое ?

Проверенно электроникой :)

У кого-нибудь ещё идеи есть?
...
Рейтинг: 0 / 0
14.02.2006, 17:08
    #33544321
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить datetime через BCP?
Это не будет замедлять выгрузку в два раза. Выгрузка - это прежде всего чтение данных с диска из нужного метста. Это - милисекунды. А выполнение даже интерпретируемого кода - это микро и надо секунды.

Я попробовал повозиться с настройкой locale - у меня не получилось. Я конечно сильно не старался. Можете попробовать сами, может вы будете настойчивей. Я бы написал view.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как выгрузить datetime через BCP? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]