SQL 日期时间到字符串格式

标签 sql database vb.net datetime insert

我有一些代码声明了一个对象变量,这个变量被分配了一个来自现有数据库字段的值。

Dim datestart As Object
datestart = dbToDate(dr("DateStart"))

然后变量通过一个函数传递,该函数检查它是否为空,然后将其转换为日期时间数据类型。

     Public Shared Function dbToDate(o As Object) As DateTime

    If o Is DBNull.Value Then
        Return Nothing

    Else
        Return Convert.ToDateTime(o)

    End If
End Function

我需要用它做的最后一件事是将它转换成日期格式的字符串,DD/MM/YYYY,这样我就可以将它插入到新数据库中。

我目前的功能是

Public Shared Function sqlDate(dt As DateTime) As String

    Return "'" & Format(dt, "yyyyMMdd") & "'"

End Function

但是,当我运行代码时,出现以下错误消息

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

这是为什么,我该如何解决?

最佳答案

简单地说,您可以使用toString 函数。还要检查您的时区。问题可能出在时区设置上。

希望您将日期作为字符串传递给数据库,尝试将日期作为日期时间变量而不是字符串传递

Public Shared Function sqlDate(dt As DateTime) As String

    Return dt.toString("yyyy-MM-dd")

End Function

供您引用:https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

关于SQL 日期时间到字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38654241/

相关文章:

mysql - 如何编辑DB文件并在其表之一中插入多条记录?

mysql - 在mysql中使用REGEXP进行搜索,不包含重复字符

mysql - MySQL 中按字段对选择

没有任何 JOIN 谓词的 MySQL JOIN

mysql - 在 UPDATE 查询中使用 JOIN

c# - Windows 应用程序的动画

vb.net - 使用 JQuery Mobile 的 asp 图像按钮单击事件

php - 这个php函数应该递归运行吗?

database - 如何测量数据库表中数据的大小?

vb.net - 使用 "Task.WhenAll"时如何控制线程数