1

SQLServerデータベースにテーブルが保存されています。テーブルのフィールドの1つはタイプDATETIMEです。Calendar私はまた、日付がデータベースのファイルと比較されるASPを持っていDATETIMEます。

問題は、時間を比較したくないということです。日付のみを比較する必要があります。そのためのSQLクエリとは何ですか。

これは私が使用したものです:

 SqlCommand myCommand = new SqlCommand("
SELECT AUDIT.AUDIT_DETAILS, USERS.USER_NAME, AUDIT.DATE_TIME, IP  
FROM USERS JOIN AUDIT ON (USERS.USER_ID = AUDIT.USER_ID) 
WHERE USERS.USERS_NAME LIKE '%"+TextBox1.Text+"%' AND CONVERT(VARCHAR(10),AUDIT.DATE_TIME,110) like "+Calendar1.SelectedDate.Date+"'%'", conn);

SQL Serverエクスプローラーで正しい出力を取得していますが、ブラウザーからasp.netを介して実行すると、クエリ結果が空になります。

4

2 に答える 2

3

以下のようにクエリを変更してみてください

  SqlCommand myCommand = new SqlCommand("SELECT AUDIT.AUDIT_DETAILS, USERS.USER_NAME, AUDIT.DATE_TIME, IP  
  FROM USERS JOIN AUDIT ON (USERS.USER_ID = AUDIT.USER_ID) 
  WHERE USERS.USERS_NAME LIKE '%"+TextBox1.Text+"%' AND
  CONVERT(VARCHAR(10),AUDIT.DATE_TIME,106) ==    CONVERT(VARCHAR(10),CAST('"+Calendar1.SelectedDate.Date+"' as DATETIME),106)", conn);
于 2012-04-23T09:00:23.930 に答える
2

このようにSQLで日時からのみ日付を取得できます

CONVERT(DATE,GETDATE())

その後、その値と比較できます。

于 2012-04-23T07:01:37.727 に答える