① 数据库中time的类型为datetime,我需要根据时间来查询数据,怎么进行比较
php3.2中可以先把时间段拿出来。转换为字符串后。可以直接比较.
如果只比较时间的话,可以转换为字符串后。截图年月日字段然后进行直接比较。
例子:
$loginwh = array();
$tomorrow = date("Y-m-d H:i:s", (strtotime($wh['add_time']) + 86399));//结束的时间
$day = $wh['add_time'] . ' 00:00:00';//开始的时间:获取的时间然后直接以年月日小时分秒的形式进行组合,接着成为一个条件进行比较
$loginwh['registerTime'] = array(array('egt', $day), array('elt', $tomorrow));数据库条件
② mysql 日期在数据库中用char(14)来存储 取的时候怎么比较时间大小
1.首先,把读取出来的值转换成DateTime类型,因为字符串不能比较大小
DateTime dTimeDB1 = Convert.todateTime(数据库中的值);
DateTime dTimeDB2 = Convert.todateTime(数据库中的值);
2.然后,再进行比较
使用比较方法:
if(DateTime.Compare(dTimeDB1 ,dTimeDB2) > 0)
说明:dTimeDB1 > dTimeDB2即dTimeDB1 是晚于dTimeDB2的时间
当然也可以不使用比较方法,而直接比较时间大小,就像比较数值一样
③ 数据库里的时间与当前时间比较
时间比较用datediff
if datediff("d",rs("onw"),date()) = 0 then
Response.Write("<script>alert('您今天已经投过票了! 请明天在投票~~ 每IP每天限投一票');</script>")
else
Response.Write("<script>alert('投票成功');</script>")
end if
"d"表示比较得出天数
④ sql中,怎么对时间进行比较
这个估计是日历时间,一般就是从January 1, 1970, UTC午夜开始到现在所经过的秒数
你可以用DATEADD函数在秒上加上这个数来把它转化为它对应的datetime类型所表示的时间
比如:
select DATEADD(ss, 1257322946, '1970-1-1 00:00:00')
返回
-----------------------
2009-11-04 08:22:26.000
(1 row(s) affected)
⑤ sql数据库查询两个表之间时间的比较
我们通常使用的表之间的联接是等值联接;你的情况需要使用外联接来做。 我按照你的意思分别见了table1,table2,table0(对应你的table表),并把你的数据也增加进去了。 执行下面的SQL可能会得到你想要的结果: (selecttable1.hm,table1.no1,table2.(table1.hm=table2.hm)wheretable1.hmisnotnull) union (selecttable2.hm,table1.no1,table2.(table1.hm=table2.hm)wheretable2.hmisnotnull) 输出结果如下:
希望是你想要的! 刚才没用到table0表,如果保证hm的值必须在table0中,如要修改上面的SQL如下: select*from(selecttable1.hmashm,table1.no1,table2.(table1.hm=table2.hm)wheretable1.hmisnotnull union selecttable2.hmashm,table1.no1,table2.(table1.hm=table2.hm)wheretable2.hmisnotnull)astwheret.hmin(selecthmfromtable0) 这样,当table1,table2中的hm值不在table0表中,查询结果就不会出现。 外联接,包括左外联接、右外联接、全外联接的确大多数的程序员都不使用。宁肯用很长的程序代码来实现,但是用数据库sql来实现其实效率是最快的。 建议你了解外联接的知识。
⑥ sql数据库时间如何比较
SELECT DATEDIFF(DAY, (SELECT table.dtime FROM table WHERE ID=1 )
,GETDATE())
//
(SELECT table.dtime FROM table WHERE ID=1 )
是你要从数据库中提取的时间,重新自定义一下
GETDATE()是今天的日期
总的就是表示从数据库里提取的时间到今天的差距
如果是想比较数据库和数据库里的时间,就按照上面的方法再写一次
⑦ oracle 数据库时间比较,请高手指点一下!
1. 你用30补充日的信息,如果是二月怎么办,就报错了。
2. 当前时间不需要这么复杂TO_DATE(to_char(TRUNC(SYSDATE),'yyyy/mm/dd'), 'yyyy/mm/dd')
TRUNC(SYSDATE) 即可
3. 个人理解,你的年、月 字段 应该是数字类型吧,那么一个先转换(如果是字符,则不需转换):
TO_DATE(to_char(D.plan_year) || '/' || to_char(D.plan_month) || '/30', 'yyyy/mm/dd')
我给你一个思路:
当前日期 - (某年某月 第一日 + 1月 - 1日)
其中: 某年某月 第一日 + 1月 即下一月的第一天; 再 -1日 就是某年某月的 最后一天:
select * from M_PLAN_INFO D WHERE TRUNC(SYSDATE) - (add_months(TO_DATE(to_char(D.plan_year) || '/' || to_char(D.plan_month) || '/30', 'yyyy/mm/dd'),1) - 1 ) > 30
⑧ SQL数据库里,怎么比较时间啊
sql="select * from test where time=#"&a&"#"=
⑨ 数据库中日期比较
如果数据库中是以 date类型存放数据的话,你在读取出来日期之后,在获取当前系统时间,可以直接比较可能需要转换一下 如果是存放的一个字符串的话,你就需要截取,或者转换了
⑩ SQL 数据库时间比较
有错误,你给的$time = date("Y-m-d G:i:s");是日期的格式化字符串,比较的时候要用引号因起来,另外你这个sql的意思是查询已经开始并且没有过期的记录条数,并没有判断哪条记录已经开始或过期,应该这样写:
$time = date("Y-m-d G:i:s");
$sql="select ExamInfo_Begin,ExamInfo_End from kl_examinfo where id='$id'";
//$id是你要查询的记录的主键值;
$query=mysql_query($sql);
list($begin,$end)=mysql_fetch_row($query);
if($begin<'$time')
{
echo "已经开始";
}
else
{
echo "还未开始";
}
if($end>'$time')
{
echo "没有过期";
}
else
{
echo "已经过期";
}