我在蜂巢中有一张桌子:
# the description of table
desc baseinfo;
cv_id string None
cv_update string None
......
# data in table is like this
select cv_id, cv_update from baseinfo limit 1;
00001 2015-04-15 16:34:44
我想要做的是: 我想检查cv_update是否为Null,它应该符合格式要求,如下所示:
# is_format doesn't exist actually
SELECT cv_id, cv_update FROM baseinfo WHERE cv_update is NOT NULL AND cv_update.is_format("%Y-%m-%d %H:%M:%S")
答案 0 :(得分:0)
我不确定为什么cv_update可以存储为日期/时间戳时存储为字符串。
无论如何,为了回答你的问题,你可以将cv_update转换为TIMESTAMP,它可以期望以(YYYY-MM-DD HH:MM:SS)格式输出。所有其他记录将显示为NULL。
然后,您可以使用带有cv_id / cv_update的记录过滤记录。
示例查询:
select *
from (
select cv_id, cast(cv_update AS TIMESTAMP)
from baseinfo b
where b.cv_id is not null) t
where t.cv_update is not null.
这可能不是最佳解决方案;)
答案 1 :(得分:0)
您也可以尝试 -
select cv_id, cv_update
from baseinfo
where unix_timestamp(cv_update)>0;
此查询将检查NULL值以及YYYY-MM-DD HH:MM:SS格式。
答案 2 :(得分:0)
这对我来说听起来更好。
示例查询:
if ( $section !="" ){
$query .= " AND section IN($section)"; // selecting section
}
$query .= " ORDER BY id DESC";
$result = mysql_query($query);