繁体   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