Sql datetime列上的简单错误
我在Sql datetime列上的简单错误,sql,sql-server,Sql,Sql Server,我在datetime列的简单输入中遇到错误。如何输入此数据 我们在这里使用的是SQLServer2005 错误: 味精241,第16级,状态1,第1行 从字符串转换日期时间时转换失败 代码: 定义: DATE_ENTERED datetime 我也尝试过这种方法,20141118 10:34:09 AM和这个“2013年3月12日”同样的错误'20141111 05:05:05'(没有'AM'或'PM')应该正确转换,无论语言设置如何。SQL Server支持多种格式-请参阅。大多数格式取决于
datetime
列的简单输入中遇到错误。如何输入此数据
我们在这里使用的是SQLServer2005
错误:
味精241,第16级,状态1,第1行
从字符串转换日期时间时转换失败 代码: 定义:
DATE_ENTERED datetime
我也尝试过这种方法,20141118 10:34:09 AM和这个“2013年3月12日”同样的错误
'20141111 05:05:05'
(没有'AM'或'PM')应该正确转换,无论语言设置如何。SQL Server支持多种格式-请参阅。大多数格式取决于您的设置,因此,这些设置有时可能有效,有时无效
解决此问题的方法是使用SQL Server支持的(稍作调整的)ISO-8601日期格式,无论您的SQL Server语言和日期格式设置如何,此格式始终有效
SQL Server支持的有两种风格:
仅适用于日期(无时间段);注意:无破折号,这非常重要YYYYMMDD
独立于SQL Server中的日期格式设置,在所有情况下都将不工作李>YYYY-MM-DD
- 日期和时间的
-此处注意:此格式有破折号(但可以省略),并且在YYYY-MM-DDTHH:MM:SS
的日期和时间部分之间有一个固定的DATETIME
分隔符T
YYYYMMDD
格式,您应该可以使用任何版本的SQL Server以及SQL Server中的任何语言和日期格式设置
因此,在您的具体案例中,请尝试以下方法:
INSERT INTO OGEN.EMR_MONITOR_TRANSACTIONS (PATIENT_ID, MONITOR_CODE, RESULTS, RESULTS_VALUES, NOTE, ADD_OBSERVATIONS, DATE_ENTERED, ENTERED_BY)
VALUES('103545281', 'P100', '1', '1', ' ', '111', '20141111T05:05:05', 'Nurse1')
从字符串转换日期时间时,Msg 241,级别16,状态1,第1行转换失败。能否共享
OGEN.EMR\u MONITOR\u事务的表定义
?insert语句看起来是正确的,因此可能是其他原因导致了此错误。@marc\s请向我们展示您的表定义。如果没有任何设计问题,此查询可以正常工作而不会出错
INSERT INTO OGEN.EMR_MONITOR_TRANSACTIONS (PATIENT_ID, MONITOR_CODE, RESULTS, RESULTS_VALUES, NOTE, ADD_OBSERVATIONS, DATE_ENTERED, ENTERED_BY)
VALUES('103545281', 'P100', '1', '1', ' ', '111', '20141111T05:05:05', 'Nurse1')