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

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

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

А если хотите чисто BCP заставить выводить в нужном формате - ковыряйтесь с настройкой locale в клиенте. Конкретно в переменную LC_TIME надо задать нужный настроенный вами locale с нужным форматом данных. Но только муторно это дело.
...
Рейтинг: 0 / 0
Как выгрузить datetime через BCP?
    #33542084
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
Как выгрузить datetime через BCP?
    #33542268
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему вы решили, что это увеличит время выгрузки вдвое ?
...
Рейтинг: 0 / 0
Как выгрузить datetime через BCP?
    #33542951
MasterZivА почему вы решили, что это увеличит время выгрузки вдвое ?

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

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

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


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