簡體   English   中英

以毫秒為單位將DateTime轉換為SQL DateTime

[英]Convert DateTime with milliseconds to SQL DateTime

我正在這樣查詢:

@" 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

我該如何解決? 我究竟做錯了什么 ?

有關此問題的SQL文檔在這里: datetime支持的字符串文字格式

因此,您可以使用ISO8601(例如:2004-05-23T14:25:10.487),因為如文檔中所述:

使用ISO 8601格式的優點是它是具有明確規范的國際標准。 同樣,此格式不受SET DATEFORMAT或SET LANGUAGE設置的影響。

嘿,你這樣做

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

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

並將此sqlDate用作參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM