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')

SQLフィドル

コメントに基づいて、クエリは次のようになります

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)

SQLフィドル

両方の場合において

SELECT * FROM table1

あなたに与える:

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

formタグによると、従来の ASP を使用しているため、作成中の 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 に答える