在我的表格中,我存储了2015-11-24 14:53
等数据。
当我尝试从日期2015-11-24
SELECT * FROM TRANSACTIONS where id='22'
and date >= date('2015-11-24 00:00')
and date <= date('2015-11-24 23:59')
我没有得到任何东西......(有那个日期的记录)
答案 0 :(得分:3)
您可以选择具有特定日期的所有记录,如下所示:
SELECT * FROM yourTable WHERE date('yourDateColumn') = 'your date';
在你的情况下:
SELECT * FROM TRANSACTIONS WHERE date(date) = '2015-11-24';
date()选择&#39; date&#39;你的DATETIME的一部分。例如:
date('2014-01-01 00:00:00') would return '2014-01-01'
答案 1 :(得分:1)
如果您选择date
,这应该是唯一的,则无需按date
进行选择。您可以考虑通过非唯一字段(在本例中为SELECT * FROM TRANSACTIONS where
date >= date('2015-11-24 00:00')
and date <= date('2015-11-24 23:59')
)进行选择,例如搜索。但是你说“选择这个特定的行(id为22的行)然后检查它是否符合这些日期参数”。因此,使用此语句,您只能获得0或1个结果。
你应该将你的陈述改为这样的
SELECT * FROM TRANSACTIONS where
date(date) >= date('2015-11-24 00:00')
and date(date) <= date('2015-11-24 23:59')
但是,正如Allinone51指出的那样,如果您的字段属于TEXT
类型,则可以安全地在您的文本字段中调用date()
函数
select date('2015-11-24 23:59');
话虽如此,非日期比较应该有效。要对此进行测试,请在命令窗口中打开sqlite3并运行2015-11-24
。结果将是date()
。
如果我们使用前一天的日期对此进行测试,则使用布尔运算符的各种组合以及sqlite> SELECT (date('2015-11-24 23:59') == '2015-11-24');
1
sqlite> SELECT (date('2015-11-24 23:59') >= '2015-11-23');
1
sqlite> SELECT (date('2015-11-24 23:59') <= '2015-11-23');
0
sqlite> SELECT (date('2015-11-24 23:59') < '2015-11-23');
0
sqlite> SELECT (date('2015-11-24 23:59') > '2015-11-23');
1
sqlite> SELECT (date('2015-11-24 23:59') == date('2015-11-24'));
1
sqlite> SELECT (date('2015-11-24 23:59') >= date('2015-11-23'));
1
sqlite> SELECT (date('2015-11-24 23:59') <= date('2015-11-23'));
0
sqlite> SELECT (date('2015-11-24 23:59') < date('2015-11-23'));
0
sqlite> SELECT (date('2015-11-24 23:59') > date('2015-11-23'));
1
函数的使用来获得结果。
date
因此,如果我在您的陈述中加入示例SELECT date('2015-11-24') >= date('2015-11-24 00:00')
and date('2015-11-24') <= date('2015-11-24 23:59');
1
值,我最终会得到此结果
date('2015-11-24 00:00')
最后一点:正如Allinone51在评论中指出的那样,date('2015-11-24 23:59')
和2015-11-24
会返回相同的值sqlite> SELECT date('2015-11-24 00:00');
2015-11-24
sqlite> SELECT date('2015-11-24 23:59');
2015-11-24
。
var text = "";
$.ajax({
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST",
url: DataReview.BASE + "/Encryption/FetchLatestEditBy",
data: JSON.stringify({
"ExtendedReport_id": dataRow["ExtendedReport_id"],
"Report_id": dataRow["Report_id"]
}),
success: function (data) {
text = data.ResultData;
},
error: function (data) {
console.log(data);
}
});
setTimeout(function () {
console.log(text); //This displays the value
$(this).attr('data-toggle', 'tooltip');
$(this).attr('title', text);
}, 1000);
基于此,也许你想要datetime()
函数?