使用CURRENT_TIMESTAMP结果插入 INSERT INTO 语句中



我试图执行以下查询:

DECLARE @MyValue DATETIME
SET @MyValue = CAST((SELECT CURRENT_TIMESTAMP) as DATETIME)
INSERT INTO Person (Gender,Name, JoinDate)
VALUES ('M','Alfred',@MyValue)

但是SQL Server不断抛出以下错误:

Msg 241,级别 16,状态 1,过程 Insert_Current_Time,第 8 行 从字符转换日期和/或时间时转换失败 字符串。

我已经尝试了许多其他方法,但似乎都没有解决它。有什么解决方案吗?

只需这样做:

INSERT INTO Person (Gender,Name, JoinDate)
VALUES ('M','Alfred',getdate())

或者这个:

INSERT INTO Person (Gender,Name, JoinDate)
VALUES ('M','Alfred',current_timestamp)

你能把CURRENT_TIMESTAMP放进你的插入物中,省去石膏吗?这对我有用:

create table flar ( thetime datetime);
insert into flar values( CURRENT_TIMESTAMP);

JoinDate 是 string/varchar 数据类型吗?如果是这样,则需要将其强制转换为字符串,而不是尝试在字符串字段中存储日期时间值。

看看这个: 如何将日期时间转换为 VarChar

最新更新