我有2个字段,分别签入和签出,它们的表达式均为
=IIF(IsNothing(Fields!CheckIn.Value), "[None]", Fields!CheckIn.Value)
=IIF(IsNothing(Fields!CheckOut.Value), "[None]", Fields!CheckOut.Value)
我想以分钟为单位计算它们之间的持续时间,但是如果其中一些值都不为零会影响它们吗?
答案 0 :(得分:0)
它将不起作用,因为def notification(request):
if request.user.is_authenticated:
notification = Notification.objects.filter(notification_user=request.user, notification_read=False)
return {
'notification':notification,
return Notification.objects.none()
需要日期/日期时间值,而 <script>
$(document).ready(function() {
$("#notificationLink").click(function() {
var data = {
"type": "notification_read",
"username": username,
"notification_id": notification_id,
}
socket.send(JSON.stringify(data));
$("#notificationContainer").fadeToggle(300);
$("#notification_id").fadeOut("slow");
return false;
});
...
var incomingMsg = $('.incoming_msg')
socket.onmessage = function(e) {
console.log("message", e)
var chatDataMsg = JSON.parse(e.data)
incomingMsg.append('<li>' + chatDataMsg.message + ' from ' + chatDataMsg.username + '</li>')
}
是varchar / char值。尝试将其替换为DATEDIFF
(不带引号),这将导致输出也为空。
答案 1 :(得分:0)
这里的理想解决方案是使用原始值,而不是此处的文本框的值。如果您的值来自具有NULL
值的数据集中,则可以找到差异而不必担心会格式化报表中每个值的表达式。以下表达式应计算出差异。
= IIF(IsNothing(Fields!CheckIn.Value) OR IsNothing(Fields!CheckOut.Value), "[None]",
DateDiff("n", Fields!CheckIn.Value, Fields!CheckOut.Value))
如果[None]
或CheckIn
为CheckOut
,则此表达式将产生NULL
,并且如果两个值均为非null值,则返回一个以分钟为单位的差值。