我正在尝试修改一些代码,这将掩盖私人信息。
代码如下所示。
len
我遇到的问题是,我需要屏蔽其中一些字段返回“NULL”的文本值,因此我打印出Available值,因为def checkPiData(fieldValue):
retVal = ""
if str(fieldValue) == "NULL":
retVal = "Unavailable"
elif len(fieldValue) > 0 :
retVal = "Available"
else:
retVal = "Unavailable"
return retVal
被发送到更大的值零。这不准确,导致我的问题。
我尝试将代码修改为
len > 0
我无法让代码看到NULL,它不断恢复为DELIMITER $$
CREATE FUNCTION `worktimeminutes`(open_time DATETIME, close_time DATETIME)
RETURNS INT
BEGIN
DECLARE tot_minutes INT;
DECLARE wrk_clock DATETIME;
DECLARE nxt_2300 DATETIME;
SET tot_minutes := 0;
SET wrk_clock := open_time;
-- exit early if either argument NULL
IF open_time IS NULL OR close_time IS NULL THEN
RETURN NULL;
END IF;
-- exit early if open_time time is on or after close_time
IF open_time >= close_time THEN
RETURN 0;
END IF;
myloop: LOOP
-- if after 11PM, skip clock forward to 7AM
IF DATE_FORMAT(wrk_clock,'%H%i') >= '2300' THEN
SET wrk_clock := DATE_FORMAT(wrk_clock,'%Y-%m-%d 07:00') + INTERVAL 1 DAY;
END IF;
SET nxt_2300 := DATE_FORMAT(wrk_clock,'%Y-%m-%d') + INTERVAL 23 HOUR;
-- have we reached close_time yet?
IF wrk_clock >= close_time THEN
LEAVE myloop;
END IF;
IF close_time < nxt_2300 THEN
SET tot_minutes := tot_minutes + TIMESTAMPDIFF(MINUTE,wrk_clock,close_time);
ELSE
SET tot_minutes := tot_minutes + TIMESTAMPDIFF(MINUTE,wrk_clock,nxt_2300);
END IF;
SET wrk_clock := nxt_2300;
END LOOP myloop;
RETURN tot_minutes;
END$$
DELIMITER ;
我做错了什么?
答案 0 :(得分:0)
你要投射到字符串的输入值是什么?你确定你不想与None比较吗?在这种情况下,您可以这样做:
if filedValue:
...
或
if filedValue is not None:
...
如果你想100%安全。 如果不是这种情况,请发布使您的函数失败的输入参数
答案 1 :(得分:0)
你的意思是某些东西返回字符串'NULL'或只是没有值(在这种情况下你的代码应该工作正常)?如果你的意思是字符串,你可以简单地使用这样的东西?:
def checkPiData(fieldValue):
retVal = ""
if len(fieldValue) > 0 and fieldValue != None:
retVal = "Available"
else:
retVal = "Unavailable"
return retVal
# This is to check the code
print checkPiData('')
print checkPiData('test')
答案 2 :(得分:0)
在经过大量阅读和搞乱事情之后,我感谢所有的帮助
证明以下代码有效,
if "None" in str(fieldValue) or len(fieldValue) <1:
return "Unavailable"
else:
return "available"
我今天学到的是使用print来诊断问题。
谢谢大家!
答案 3 :(得分:0)
您可以改进对自己问题的回答:
<div class='scaled'>Scaled div</div>
<div class='normal'>Normal div</div>
<div class='normal'>Normal div</div>
<div class='normal'>Normal div</div>