2013-05-15 2 views
0

У меня есть дата в SQL Server в следующем формате: 1/1/2013 14:15:16Преобразовать дату SQL Server на сегодняшний день AS400

Я хочу, чтобы преобразовать его в 2013-1-1-14.15.16.000000

Я сделал это в C#, делая что-то вроде этого

dateValue.toString("YYYY-MM-dd-hh.mm.ss.000000") 

Есть ли преобразование формата, которое я должен использовать?

Я бы предпочел сделать это в коде C#.

+1

Я не думаю, что вы сказали точно *, где * вы хотите сделать это: в коде SQL Server, в Код DB2 или где-то еще? Также укажите свою версию SQL Server; 2012 имеет функцию ['FORMAT'] (http://technet.microsoft.com/en-us/library/ee634924.aspx), но в предыдущих версиях этого нет. – Pondlife

+0

Кажется, это может быть помечено неправильной базой данных ...? Это DB2 (на что я отвечал) или SQL Server? –

+0

Типы данных DATE, TIME или TIMESTAMP не имеют никакого формата в базах данных, они обычно хранятся в виде чисел. Вам не нужно беспокоиться о форматировании чего-либо, если вы используете переменные правильного типа данных в приложении (не уверены, что C#, пример Java - java.sql.Timestamp) и привязать их к операторам SQL, выполняемым в отношении любой базы данных. – mustaccio

ответ

1
select Replace(Replace(Convert(VarChar(26), SysDateTime(), 121), ' ', '-'), ':', '.') 
1

Возможно, вы могли бы просто SET DATEFORMAT со стороны SQL Server. Ницца и просто.

(Оговорка: Я DB2 для я парень, не эксперт SQL Server)

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