【发布时间】:2020-06-26 05:16:49
【问题描述】:
我需要将 Table1 中的 Registrationdate(varchar) 列转换为 Table2 中的 Registrationdate(datetime) 格式。我需要在插入代码中使用它。
Insert Full_patient_reg (Patient_id,RegistrationDate,PatientName)
select a.PATIENT_ID,a.REGISTRATIONDATE,a.PATIENTNAME from hinai_patient a
where a.PATIENT_ID not in
(select Patient_id from Full_patient_reg where a.PATIENT_ID=Patient_id)
它会导致类似“将 varchar 数据类型转换为 datetime 数据类型导致值超出范围”之类的错误。
请建议一个在插入代码中起作用的代码。
Dateformats (varchar)
2011-08-01 00:00:00
2000-11-16 07:39:44
2020-06-06 07:51:42.644
2020-05-26 06:55:38.08
【问题讨论】:
-
hinai_patient中的日期是什么格式? -
请提供样本数据
-
日期格式是一个很重要的问题。根据您所在的位置,您可能还需要
set dateformat dmy。 Sql server 不是很宽容——有时你需要先重新格式化它。 -
该列中的格式类型 '2011-08-01 00:00:00','2000-11-16 07:39:44','2020-06-06 07:51:42.644 ','2020-05-26 06:55:38.08'
标签: sql sql-server