我的问题是我有一个05/09/2013
不能更改的 HTML 文本框中的日期值。
现在 sql 只接受日期格式为yyyy/mm/dd
. 因此,在将此文本框值插入 sql 数据库时,它不支持这种格式并引发异常。
因此我的问题是如何将不同格式的文本框值插入到 sql 数据库中?
例如我的代码看起来像
insert into table (date) value('"& date& "')
05/09/2013
输入框有一个日历类型的文本框,并以格式发送日期
我的问题是我有一个05/09/2013
不能更改的 HTML 文本框中的日期值。
现在 sql 只接受日期格式为yyyy/mm/dd
. 因此,在将此文本框值插入 sql 数据库时,它不支持这种格式并引发异常。
因此我的问题是如何将不同格式的文本框值插入到 sql 数据库中?
例如我的代码看起来像
insert into table (date) value('"& date& "')
05/09/2013
输入框有一个日历类型的文本框,并以格式发送日期
更新
对于 MySQL 使用STR_TO_DATE()
INSERT INTO Table1 (date)
SELECT STR_TO_DATE('05/09/2013', '%d/%m/%Y')
根据您的评论,查询应如下所示
sql = "INSERT INTO shiftpatterns (siteNumber,shiftdate) SELECT '"&siteNumber&"', 'STR_TO_DATE('"&shiftdate&"','%d/%m/%Y')"
原始答案
对于 SQL Server 使用CONVERT
INSERT INTO Table1 ([date])
SELECT CONVERT(datetime, '05/09/2013', 103)
在这两种情况下
SELECT * FROM table1
会给你:
| DATE |
------------------------------------
| September, 05 2013 00:00:00+0000 |
根据您使用的标签,您使用的是经典的 ASP,因此我们可以假设您正在使用 aform
将数据提交到您正在编写的 ASP 页面。
如果您无法编辑客户端页面,最容错的方法是假脱机处理一个日期对象,解析提供的值,然后从那里提取您的数据。或者,您可以将其视为字符串,测试预期格式,然后将字符串处理为更清晰的形式。
function fixDate(inStr)
if inStr like '99/99/9999' then
fixDate = LEFT(inStr,4) + "/" + RIGHT(inStr,4)
endif
end function