3

我需要在 Microsoft Sql Server 的 QUEUE 表中插入一个日期字符串作为 DATETIME2。

数据库结构:

CREATE TABLE "QUEUE" (
    ID  INT PRIMARY KEY NOT NULL,
    TEAMID  VARCHAR(550) ,
    STATUS  VARCHAR(50) ,
    MSG VARCHAR(50) ,
    TIME    DATETIME2,
    ERROR   VARCHAR(10) ,
);

INSERT INTO QUEUE VALUES(2,'c33','ok','FoundID',CONVERT('Tue Sep 09 12:18:52 2014' AS DateTime2),'OK');

值 'Tue Sep 09 12:18:52 2014' 应转换为 datetime2 格式,如 2014-09-09 12:18:52.000000 并应插入。

我尝试了 CAST 和 COVERT 但失败了。

4

2 回答 2

5

正如所指出的,转换的语法有点偏离。语法应如下所示:

SELECT CONVERT(datetime,'Sep 09 12:18:52 2014')
于 2015-07-23T16:02:53.083 回答
0

Dane 的转换有效,但如果日期作为字段或变量传递,其中包括开头的 3 个字母的星期几(如您的示例),它似乎仍然失败。假设前 4 个字符始终是星期几和一个空格,您可以使用 RIGHT 和 LEN 调整 Dane 的示例。

SELECT CONVERT(datetime,RIGHT('Tue Sep 09 12:18:52 2014',LEN('Tue Sep 09 12:18:52 2014')-4))
于 2015-07-24T12:18:59.963 回答