我的表格中包含数据类型为time(4)
的列。
当我在表中插入值时,我需要将当前时间(毫秒)(无日期)自动插入该列。我试过时间戳,约会时间......但没有任何成功。
答案 0 :(得分:5)
如果您想在SQL Server 2012中获取当前时间,只需使用CAST
运算符即可实现此目的:
SELECT
CAST(SYSDATETIME() AS TIME(4))
这将获得当前日期&时间,并根据需要将其投射到时间。
要在添加新行时自动输入时间值,您可以在default constraint中使用上述表达式。例如:
DECLARE @T AS table
(
SomeValue integer NOT NULL,
TheTime time(4) NOT NULL
DEFAULT CAST(SYSDATETIME() AS time(4))
);
INSERT @T (SomeValue)
VALUES (1);
SELECT
SomeValue,
TheTime
FROM @T;
答案 1 :(得分:2)
据我了解,这是您可能正在寻找的内容:
SELECT GETDATE() 'Today',
CONVERT(TIME(4),GETDATE()) 'time_only'
您可以在insert语句中使用上述转换,如下所示:
INSERT INTO TABLEA (
column1
,column2
,record_insert_time
)
VALUES (
value1
,value2
,CONVERT(TIME(4), GETDATE())
);