我试图执行以下查询:
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