日常の開発では、開始日と終了日 (yyyy-MM-dd 形式) を選択するなど、特定の期間に基づくクエリがよく使用されますが、データベース テーブルのこの列の形式は (yyyy-MM-) です。 dd HH:MM:SS) 形式なので、次の変換を使用する必要があります
sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120)<='{0}'", endRegisterDate) ) ;
1public DataTable GetOvertureDocInfoList(string boName, int isSend, string startRegisterDate, string endRegisterDate)
2 {
3 試してみる
4 {
5 string strSql = "SELECT * FROM GovInfo_OvertureDocument WHERE '1'='1' ";
6 StringBuilder sbSql = new StringBuilder(strSql);
7
8 if (isSend > -1)
9 {
10 sbSql.Append(string.Format(" AND IsSend={0}",isSend));
11 }
12
13 if (startRegisterDate != "")
14 {
15 sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120)>='{0}'", startRegisterDate));
16}
17 if (endRegisterDate != "")
18 {
19 sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120)<='{0}'", endRegisterDate));
20}
21
22 //if (ステータス != "")
23 //{
24 // sbSql.Append(string.Format("AND Status={0}", status));
25 //}
26
27 sbSql.Append(" ORDER BY 登録日 DESC");
28
29 SqlDBAccess dbaccess = new SqlDBAccess();
30 データセット ds = 新しいデータセット();
31 ds = dbaccess.ExecuteDataset(boName, CommandType.Text, sbSql.ToString());
32 データテーブル dt = ds.Tables[0];
33
34 リターン dt;
35}
36 キャッチ (例外 e)
37 {
38 LogUtil.Log.Error(this, e);
39 投げるe;
40}
41 }