在 sql 插入查询中将日期时间转换为小日期时间

本文关键字:日期 时间 转换 sql 插入 查询 | 更新日期: 2023-09-27 18:35:00

我有一个这样的插入查询

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

当我执行此查询时,发生了此错误"将 varchar 数据类型转换为日期时间数据类型导致值超出范围">

请帮忙

我的数据库有这个表">tna_temp_attendance"它的列是

  • Emp_id字符(6(
  • Wdate smalldatetime
  • Is_read
  • Machine_Status
  • Process_Status
  • Is_Error
  • Loc_no字符(4(
  • 瓦尔查尔(16(

编辑

我也这样通过了日期

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

但它也不起作用

在 sql 插入查询中将日期时间转换为小日期时间

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

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

然后将其转换为日期时间

DateTime ndt = Convert.ToDateTime(dt(;

然后我用了

转换(小日期时间, 转换(日期时间, '" + NDT + "'((

它奏效了。谢谢大家

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

dtDateTime.ToString("yyyyMMdd")