刚刚发了个贴,结贴完了 才发现还有个问题,
麻烦前辈再给看看...
我有个数据表t_table,里面有个datetime类型的checktime字段,值为"2011-8-10 10:04:20"
我要把刚刚得到的$lcyOr1(即为:2011-8-10)作为checktime的查询条件查询这个表,这又该怎么办啊?

解决方案 »

  1.   

    先将你的$lcyOr1格式化 date
    然后直接在SQL里比较即可 > < = 建议你用时间戳来保存时间内容.
      

  2.   

    date_format(checktime, '%y-%m-%d') = '$lcyOr1'DATE_FORMAT(date,format) 
    依照 format 字符串格式化 date 值。下面的修饰符可被用于 format 字符串中: 修饰符  含义  
    %M  月的名字 (January..December)  
    %W  星期的名字 (Sunday..Saturday)  
    %D  有英文后缀的某月的第几天 (0th, 1st, 2nd, 3rd, etc.)  
    %Y  年份,数字的,4 位  
    %y  年份,数字的,2 位  
    %X  周值的年份,星期日是一个星期的第一天,数字的,4 位,与 '%V' 一同使用  
    %x  周值的年份,星期一是一个星期的第一天,数字的,4 位,与 '%v' 一同使用  
    %a  缩写的星期名 (Sun..Sat)  
    %d  月份中的天数,数字的 (00..31)  
    %e  月份中的天数,数字的 (0..31)  
    %m  月,数字的 (00..12)  
    %c  月,数字的 (0..12)  
    %b  缩写的月份名 (Jan..Dec)  
    %j  一年中的天数 (001..366)  
    %H  小时 (00..23)  
    %k  小时 (0..23)  
    %h  小时 (01..12)  
    %I  小时 (01..12)  
    %l  小时 (1..12)  
    %i  分钟,数字的 (00..59)  
    %r  时间,12 小时 (hh:mm:ss [AP]M)  
    %T  时间,24 小时 (hh:mm:ss)  
    %S  秒 (00..59)  
    %s  秒 (00..59)  
    %p  AM 或 PM  
    %w  一周中的天数 (0=Sunday..6=Saturday)  
    %U  星期 (00..53),星期日是一个星期的第一天  
    %u  星期 (00..53),星期一是一个星期的第一天  
    %V  星期 (01..53),星期日是一个星期的第一天。与 '%X' 一起使用  
    %v  星期 (01..53),星期一是一个星期的第一天。与 '%x' 一起使用  
    %%  一个字母 “%”  
    所有其它的字符不经过解释,直接复制到结果中
      

  3.   

    你可以用mysql的date_fomart();,只是格式的话这样写;
    date_fomart($checktime,\'%Y-%m-%d'\);
    直接格式化。
      

  4.   

    不错的解决方法,不过还有个like方法,至于那个更快就不知道了
    例如:
    select * from t_table where checktime like "%2011-8-10"
      

  5.   


    select * from t_table where  date_format(checktime, '%y-%m-%d') =$lcyOr1
    这样查怎么查不出结果啊
      

  6.   

    select * from t_table where date_format(checktime, '%y-%m-%d') ='$lcyOr1';加个引号试试
      

  7.   

    不行啊
    我在数据库里面直接运行了sql语句,$lcyOr1 的值 是 “2011-8-10”,不好用啊
      

  8.   

    2011-8-10 10:04:20
    和2011-8-10可以使用mysql的left()函数如select * from table where left(time,9)=$time;
    如果日期格式都一样的话
      

  9.   

       5楼的,为什么被无视了呢?
        like方法很简单的啊。
    如果数据量不大的话,对查询速度的 影响不会很大。
    select * from t_table where checktime like '%".$lcyOr1."%'