2012-03-15 18 views
-1

日付の問題があります。たとえば、日付の形式が2010-10-10 22:10:00.000の場合は有効な日付で、データベーステーブルに挿入します。無効な日付をSQLで有効な日付に変換する方法

ただし、日付の形式が無効な日付の2010-10-10 25:10:00.000である場合。時間数が24よりも大きいかどうかをチェックし、日付に1日追加し、タイムスタンプから24時間を引く。

お知らせください。

答えて

2

なぜあなたは人々に自由形式の日付と時刻を入力させてナンセンスで記入できるのですか? 2010-13-132012-02-31にも対応しますか?フォームにドロップダウンを入れると、ユーザーは有効な日付と時刻のみを選択し、サーバーに送信する前に検証することができます。

この迷惑メールを解析して、ユーザーに迷惑をかけたくないルールをサポートするのは本当に醜い方法ですが、それはかなりうまくいかない場合もありますし、実際には誤植を「修正」してユーザーが実際に意図していなかった日付/時刻。しかし、あなたが彼らの間違いを修正したので、彼らは間違いを犯すことさえ知らなかった。

+1

真厥。ユーザーはいつもナンセンスです。しかし、開発者としては不可能だとは言えません。ユーザーは間違ったナンセンスデータを自由に与えることができますが、私たちはその解決策を見つけました。 – Jeetesh

+0

あなたのクライアント層で強く型付けされた、パラメータ化されたコマンド呼び出しがそれを捕まえるでしょう。 '2010-10-10 25:10:00.000'と入力したランダムなユーザーのボブは、有効時間+ 1時間に再変換されることを期待していません –

関連する問題