将时间戳插入MS SQL

时间:2013-09-21 05:31:09

标签: sql sql-server iso8601

我正在努力将一些数据从Rest-api中提取到我的MSSQL数据库中。我遇到的问题是我从api给出的时间戳似乎没有正确格式化,只插入'2013-09-16T07:00:00 + 0000'。

示例插入:

INSERT INTO [page_fan_adds_unique]([period], [title], [description], [value], [end_time])  
VALUES ('day', 'Daily New Likes', 'Daily: The number of new people who have liked your Page (Unique Users)','0', '2013-09-16T07:00:00+0000')

我知道将格式更改为2013-09-16T07:00:00 + 00:00有效,但我不想在插入之前操作数据。

2 个答案:

答案 0 :(得分:0)

如果没有格式化,则无法执行此操作。

MSDN关于 TIMESTAMP : -

  

是一种公开自动生成的唯一二进制文件的数据类型   数据库中的数字。时间戳通常用作机制   用于版本标记表行。存储大小为8个字节。该   timestamp数据类型只是一个递增的数字,而不是   保留日期或时间。要记录日期或时间,请使用日期时间   数据类型。

您可以使用datetime数据。

答案 1 :(得分:0)

这就是我所做的。从我的PHP代码我插入日期[end_time] = CAST(STUFF('“”“,23,3,':00')AS DATETIME2)”

现在当我编写我的“select”语句时,我只是将(end_time作为日期时间)编译,我发现这比在sql中将字符串转换为日期时要容易得多。