Конвертировать DateTime с миллисекундами в SQL DateTime - PullRequest
0 голосов
/ 25 апреля 2011

Я делаю запрос, как это:

@" if (" + logic + @") 
begin
    INSERT INTO [FRIIB].[dbo].[Incidents]
        ([RecTime]
        ,[Name]
        ,[Message])
    VALUES
        ('"     + dt.ToString("yyyy/MM/dd hh:mm:ss.fff") + //ODBC : Canonical DT Format

и получил SQL, как это:

if (( 1 = 1 )) 
begin
INSERT INTO [FRIIB].[dbo].[Incidents]
([RecTime],[Name],[Message])
VALUES 
('2011.02.14 04:30:10.020',

и ошибка, как это:

невозможно конвертировать varchar в datetime

Как это исправить?Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 25 апреля 2011

SQL Документация по этому вопросу находится здесь: Поддерживаемые строковые литеральные форматы для даты и времени

Таким образом, вы можете использовать ISO8601 (пример: 2004-05-23T14: 25: 10.487), потому что, какуказано в документе:

Преимущество использования формата ISO 8601 состоит в том, что это международный стандарт с однозначной спецификацией.Кроме того, на этот формат не влияют настройки SET DATEFORMAT или SET LANGUAGE.

0 голосов
/ 25 апреля 2011

Эй, ты делаешь что-то подобное ..

  java.util.Date dt = new java.util.Date();

  java.sql.Date sqlDate = new java.sql.Date(dt.getDate());

и передайте эту sqlDate как параметр ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...