将日期和时间插入数据库的 SQL 语法
Posted
技术标签:
【中文标题】将日期和时间插入数据库的 SQL 语法【英文标题】:SQL Syntax to Insert Dates and Times into a Database 【发布时间】:2016-07-28 11:19:04 【问题描述】:在我的项目中,我需要将以下函数(它创建一个要插入数据库的字符串)转换为插入日期时间数据类型的正确语法...有谁知道我可以做到这一点的方法吗?
Public Shared Function sqlString(str As String) As String
Return "'" & str.Replace("'", "''") & "'"
End Function
【问题讨论】:
标记使用的 dbms。其中许多在日期/时间方面与 ANSI SQL 相去甚远。 @jarlh 谢谢,我已经重新标记了。我们插入的 DBMS 是 MS SQL Server 2008 使用参数。使用参数。采用。参数。 数据库参数将使您不必编写额外的解析函数,并将本机处理撇号问题和日期格式。 “这个导入过程只会使用一次”,然后你的应用程序扩展,并且有人继承了 sql 注入问题。 这些“批量”选项可能也值得一看:msdn.microsoft.com/en-us/library/ms175937.aspx 【参考方案1】:sql = "INSERT INTO tblModules(ModuleID, ModuleName, NumberUsers, License, Username, ContractID,datetime) VALUES(" & modID & ", " & sqlString(modname) & ", " & numusers & "," & sqlString (license) & ", " & sqlString(username) & ", " & contractID & ","&sqlDateTime(DateTime.Now)&")" 试试这个
【讨论】:
嗨,我不想添加 DateTime。现在,我需要它来复制数据库中的值 声明一个变量并使用它来代替 DateTime.Now【参考方案2】:最后,我在 INSERT 语句期间通过分别调用以下函数将值存储为日期或时间
Public Shared Function sqlDate(dt As DateTime) As String
If dt.Date = Nothing Then
Return dt.ToString("")
Else
Return dt.ToString("yyyy-MM-dd")
End If
End Function
Public Shared Function sqlTime(dt As DateTime) As String
Return dt.ToString("hhmmss")
End Function
【讨论】:
以上是关于将日期和时间插入数据库的 SQL 语法的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 dateTimePicker 将日期插入 SQL 数据库日期列?
如何以某种格式将日期和时间插入 SQL Server 数据库? [复制]