Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Такой код
     SQL.Add('select CONVERT(VarChar(128), CAST(ValData AS DATETIME), 113) as ValData from dbo.getValDate(:nID,:pID)');


выводит: 22 мар 2013 00:00:00:000

Такой:
 SQL.Add('select CONVERT(VarChar(128), ValData, 104) as ValData from dbo.getValDate(:nID,:pID)'); 


выводит: 22.03.2013


Мне нужен обычный российский формат вывода, а именно: 22.03.2013 00:00:00

Как???
4 июл 14, 07:44    [16258097]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
гр к
Guest
prog123
Такой:
 SQL.Add('select CONVERT(VarChar(128), ValData, 104) as ValData from dbo.getValDate(:nID,:pID)'); 


выводит: 22.03.2013


Мне нужен обычный российский формат вывода, а именно: 22.03.2013 00:00:00

Как???

Может сцепить CONVERT(VarChar(128), ValData, 104) + ' '+CONVERT(VarChar(128), ValData, 108)?
4 июл 14, 08:17    [16258123]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
prog123
Мне нужен обычный российский формат вывода, а именно: 22.03.2013 00:00:00
Такого нет, только компоновать строку самому.
4 июл 14, 09:10    [16258235]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
prog123,

вы все равно пишете на клиенте верните обычную дату из скл,а в клиенте уже форматируйте... там скроее всгео средств побольше будет
4 июл 14, 10:47    [16258644]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8828
Это не российский формат, а германский. Используйте функцию FORMAT().
4 июл 14, 11:21    [16258891]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Владислав Колосов
Это не российский формат, а германский. Используйте функцию FORMAT().
Дали же уже ответ!

И это... Стесняюсь спросить. А российский какой?
4 июл 14, 11:25    [16258913]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8828
iap, не существует российского. :( Зачем что-то сцеплять, это избыточный код. FORMAT() использует .NET преобразования, вполне себе быстро работает.
4 июл 14, 11:38    [16259021]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Владислав Колосов
iap, не существует российского. :( Зачем что-то сцеплять, это избыточный код. FORMAT() использует .NET преобразования, вполне себе быстро работает.
Что-то я не вижу, какая версия сервера у prog123.
Откуда стало известно, что SQL 2012?
4 июл 14, 11:44    [16259076]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8828
По умолчанию самая старшая, если не пишет... 2014 ЕЕ...
4 июл 14, 13:23    [16259777]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Прога на Дельфях, база(разбэкапленная с mssql-2000) под упр. mssql 2008/

Так:
 SQL.Add('select (CONVERT(VarChar(128), ValData, 104) + '' '' + CONVERT(VarChar(128), ValData, 108)) as ValData from dbo.getValDate(:nID,:pID)');
 


работать не хочет и сообщает

К сообщению приложен файл. Размер - 16Kb
4 июл 14, 16:32    [16261146]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
А так
автор
SQL.Add('select FORMAT(ValData,''dd.mm.yyyy hh:mm:ss'') as ValData from dbo.getValDate(:nID,:pID)');


говорит

К сообщению приложен файл. Размер - 14Kb
4 июл 14, 16:36    [16261175]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
prog123,

Да форматируйте на Дельфях..не мучайте сиквел
4 июл 14, 16:38    [16261183]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Такой код:
     Close;
     SQL.Clear;
     SQL.Add('select CONVERT(VarChar(128), ValData, 104) as ValData from dbo.getValDate(:nID,:pID)');
     ParamByName('NID').AsInteger := nID;
     ParamByName('PID').AsInteger := pID;
     Open;
     Result := FieldByName('ValData').AsString;

     Close;
     SQL.Clear;
     SQL.Add('select CONVERT(VarChar(128), ValData, 108) as ValData from dbo.getValDate(:nID,:pID)');
     ParamByName('NID').AsInteger := nID;
     ParamByName('PID').AsInteger := pID;
     Open;
     Result := Result + ' ' + FieldByName('ValData').AsString;


дает требуемый результат: 22.03.2013 00:00:00

но навевает грусть...
4 июл 14, 16:45    [16261223]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Ито в MSSQL, насквозь русифицированном...такой простой вопрос и так усложнить....
4 июл 14, 16:47    [16261238]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Glory
Member

Откуда:
Сообщений: 104751
prog123
но навевает грусть.

16258123
4 июл 14, 16:47    [16261239]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Glory
Member

Откуда:
Сообщений: 104751
prog123
Ито в MSSQL, насквозь русифицированном...такой простой вопрос и так усложнить....

Потому что нет "российского формата даты".
4 июл 14, 16:48    [16261248]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Glory
prog123
но навевает грусть.

16258123

16261146
4 июл 14, 16:48    [16261255]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glory
prog123
но навевает грусть.

16258123

лисапедисты ответ был во втром сообщении
select CONVERT(VarChar(128), getdate(), 104) + ' '+CONVERT(VarChar(128), getdate(), 108)
4 июл 14, 16:49    [16261267]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Glory
Member

Откуда:
Сообщений: 104751
prog123
Glory
пропущено...

16258123

16261146

Это сообщение вашего Delphi, а не сервера
4 июл 14, 16:49    [16261268]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Maxx
Glory
пропущено...

16258123

лисапедисты ответ был во втром сообщении
select CONVERT(VarChar(128), getdate(), 104) + ' '+CONVERT(VarChar(128), getdate(), 108)


Вы же работаете на Дельфи, тогда зачем этот неработающий пример. Я не в консоли сижу:)
4 июл 14, 16:51    [16261281]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
prog123
Guest
Glory
prog123
Ито в MSSQL, насквозь русифицированном...такой простой вопрос и так усложнить....

Потому что нет "российского формата даты".


Спасибо за конкретный ответ по-существу! Я не знал и пытался всю ночь найти:)
4 июл 14, 16:52    [16261286]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
prog123
Вы же работаете на Дельфи, тогда зачем этот неработающий пример. Я не в консоли сижу:)

занавес.....
4 июл 14, 16:53    [16261291]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
Glory
Member

Откуда:
Сообщений: 104751
prog123
Спасибо за конкретный ответ по-существу! Я не знал и пытался всю ночь найти:)

Искать нужно в международных стандартах. А не почесыванием себя за ухом

prog123
Вы же работаете на Дельфи, тогда зачем этот неработающий пример. Я не в консоли сижу:)

Т.е. при любой ошибке виноват сервер ? Круто
4 июл 14, 16:59    [16261327]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
user89
Member

Откуда:
Сообщений: 2083
prog123,

???
select convert(char(10),getdate(),104) + ' 00:00:00'
4 июл 14, 17:55    [16261652]     Ответить | Цитировать Сообщить модератору
 Re: Не могу вывести DateTime в российском формате  [new]
гр к
Guest
prog123
Ито в MSSQL, насквозь русифицированном...такой простой вопрос и так усложнить....

В принципе, ты можешь для преобразования даты на сервере в нужный формат написать пользовательскую ф-ю, исп-я DATEPART (Transact-SQL)
http://msdn.microsoft.com/ru-ru/library/ms174420(v=sql.90).aspx
-----
Не люблю Progress OpenEdge.
4 июл 14, 18:42    [16261798]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить