在 sql 插入查询中将 datetime 转换为 smalldatetime

Convert datetime to smalldatetime in sql insert query

我有一个这样的 INSERT 查询

INSERT INTO tna_temp_attendance VALUES('" + strEmpCode + "', CONVERT(SMALLDATETIME, '" + dtDateTime.ToString() + "'), 0, " + _inOutMode.ToString() + ", null, 0, 'CHO-', '" + strMachine + "')

当我执行这个查询时发生了这个错误 “将 varchar 数据类型转换为 datetime 数据类型导致值超出范围

求助

我的数据库有这个table“tna_temp_attendance” 它的列是

编辑

我也是这样过日子的

CONVERT(SMALLDATETIME, '" + Convert.ToDateTime(dtDateTime.ToString("yyyy-MM-dd hh:mm:ss") ) + "')

但它也不起作用

尝试使用 ISO 格式将日期插入 SQL 服务器,如下所示:

dtDateTime.ToString("yyyyMMdd")

我终于做到了。 我声明了一个字符串。

  • string dt = DateTime.Now.ToString();

然后将其转换为日期时间

DateTime ndt = Convert.ToDateTime(dt);

然后我用了

CONVERT(SMALLDATETIME, CONVERT(DATETIME, '" + ndt + "'))

它奏效了。谢谢大家