0

我的问题是我有一个05/09/2013 不能更改的 HTML 文本框中的日期值。

现在 sql 只接受日期格式为yyyy/mm/dd. 因此,在将此文本框值插入 sql 数据库时,它不支持这种格式并引发异常。

因此我的问题是如何将不同格式的文本框值插入到 sql 数据库中?

例如我的代码看起来像

insert into table (date) value('"& date& "')

05/09/2013输入框有一个日历类型的文本框,并以格式发送日期

4

2 回答 2

1

更新

对于 MySQL 使用STR_TO_DATE()

INSERT INTO Table1 (date)
SELECT STR_TO_DATE('05/09/2013', '%d/%m/%Y')

SQLFiddle

根据您的评论,查询应如下所示

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)

SQLFiddle

在这两种情况下

SELECT * FROM table1

会给你:

|                             DATE |
------------------------------------
| September, 05 2013 00:00:00+0000 |
于 2013-05-19T20:53:37.080 回答
0

根据您使用的标签,您使用的是经典的 ASP,因此我们可以假设您正在使用 aform将数据提交到您正在编写的 ASP 页面。

如果您无法编辑客户端页面,最容错的方法是假脱机处理一个日期对象,解析提供的值,然后从那里提取您的数据。或者,您可以将其视为字符串,测试预期格式,然后将字符串处理为更清晰的形式。

function fixDate(inStr)
  if inStr like '99/99/9999' then
    fixDate = LEFT(inStr,4) + "/" + RIGHT(inStr,4)
  endif
end function
于 2013-05-19T20:31:24.523 回答