私は今日仕事で問題に遭遇しましたが、あなたは時間に応じてそれをチェックする必要がありますが、クエリの結果は正しくありません。たとえば、2007-10-12から2007-10-31までのウェブサイトに登録されているメンバーを見つける必要があります。 31は根本的に根本的に表示されていません。結果はいくつかのテスト後も同じでした。デバッグプログラムでは、SQLステートメントに問題があることがわかりました。
SQLステートメントは次のとおりです。Select * from userinfo where regime> = '2007-10-12'および体制<= '2007-10-31'。最初はこのSQLステートメントにエラーはありませんが、データベース内の対応するフィールドの値の後、保存された値の値は単純な日付形式ではなく、日付+時間の形式です。つまり、yyyyyy -MM-DD HH:MM:SS。平等です。私に何ができる?
心配しないでください、ASPは、この問題を解決するのに役立つ日付と減算の機能を提供します。
1。追加日
datedd関数
指定された時間間隔の日付に戻ります。
datedd(間隔、番号、日付)
DateAdd関数の文法には、次のパラメーターがあります
(1)間隔オプションが必要です。文字列式は、追加する時間間隔を示します。値については、設定部分を参照してください。
(2)番号オプションが必要です。数値式は、追加する時間間隔数を示します。数値式は正(将来の日付を取得)または負の数(過去の日付を取得)にすることができます。
(3)日付はオプションでなければなりません。バリアントは、間隔表示日のテキストを追加する場合があります。
説明:
DateEADD関数で日付から指定された時間間隔を追加または減算するために使用できます。たとえば、DateAddは、当日から30日間、または今後45分後に使用できます。日付に毎日の間隔を追加するには、毎日(y)、毎日(y)、または毎日(y)、毎日(d)、または1週間の数(w)数を使用できます。
datedd関数は無効な日付を返しません。次の例では、1995年1月31日に1か月追加されます。
newdate = dateadd(m、1、31-jan-95)
この例では、Dateaddは1995年2月31日ではなく1995年2月28日に戻りました。日付が1996年1月31日の場合、1996年は跳躍年であるため、1996年2月29日に戻ります。
計算日が100 ADの前にある場合、エラーが発生します。
数字が長いタイプの値でない場合、最初の4つの家と5つのエントリが最も近い整数です。
2。日付の削減
Datediff機能
2つの日付間の時間間隔を返します。
datediff(interval、date1、date2 [、firstdayofweek [、firstweekofyear]]))
Datediff関数の文法には、次のパラメーターがあります。
(1)間隔オプションが必要です。文字列式は、日付1と日付の間の時間間隔を示します2。値については、設定部分を参照してください。
(2)date1、date2はオプションでなければなりません。日付式。計算の2つの日付。
(3)FirstDayofwekはオプションです。指定された週の初日の定数。指定されていない場合、デフォルトは日曜日です。値については、設定部分を参照してください。
(4)FirstWeekofyearオプション。年の最初の週の定数を指定します。指定されていない場合、1月1日の週にデフォルトです。値については、設定部分を参照してください。
説明:
Datediff関数は、2つの日付間の指定された時間間隔の数を決定するために使用されます。たとえば、Datediffを使用して、2つの日付の差の差、またはその日と最終日の間の毎週の数を計算できます。
日付1から日付2の間の日数を計算するには、1年の日数(y)または日(d)を使用できます。間隔が週の日数(w)である場合(w)、Datediffは2つの日付の間に毎週の数を返します。 Date1が月曜日の場合、日曜日の数は月曜日の数になる前にDate2に計算されます。この結果には、日付のない日付2が含まれています1。間隔が週(WW)の場合、Datediff Functionは、カレンダーテーブルの2つの日付の間の毎週の数値を返します。日付1から日付2の間の関数の数が計算されます。 Date2が日曜日の場合、Datediffは日付2を計算しますが、日付1が日曜日であっても、Date1は計算されません。
date1が日付2より遅い場合、Datediff関数は負の数を返します。
FirstDayofWeekパラメーターは、WW間隔記号の計算に影響します。
date1またはdate2が日付テキストの場合、指定された年は日付の固定部分になります。ただし、date1またはdate2が引用符()に含まれ、年を省略した場合、date1またはdate2式がコードで計算されるたびに、今年が挿入されます。このようにして、さまざまな年に適したプログラムコードを書くことができます。
インターバルが年(yyyy)である場合、12月31日と来年の1月1日と比較して、実際には1日しかありませんが、年間の違いを示すために1日を返します。