mySQL可不可以像msSQL 
一样可以.......where convert(char(11),getdate(),121)=2009-11-01查了一下,mySQL好像是dataformat,但放在select 后面正常,如果放在where 后面就出错了我是新手,请教大家一下,谢谢

解决方案 »

  1.   

    mySQL可不可以像msSQL
    一样可以.......where convert(char(11),getdate(),121)=2009-11-01 ----------------mySQL可不可以像msSQL
    一样可以.......where date_format(now(),'%Y-%m-%d')='2009-11-01' 
      

  2.   

    MySQL DATE_FORMAT() 函数定义和用法
    DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。语法
    DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。可以使用的格式有:格式 描述 
    %a 缩写星期名 
    %b 缩写月名 
    %c 月,数值 
    %D 带有英文前缀的月中的天 
    %d 月的天,数值(00-31) 
    %e 月的天,数值(0-31) 
    %f 微妙 
    %H 小时 (00-23) 
    %h 小时 (01-12) 
    %I 小时 (01-12) 
    %i 分钟,数值(00-59) 
    %j 年的天 (001-366) 
    %k 小时 (0-23) 
    %l 小时 (1-12) 
    %M 月名 
    %m 月,数值(00-12) 
    %p AM 或 PM 
    %r 时间,12-小时(hh:mm:ss AM 或 PM) 
    %S 秒(00-59) 
    %s 秒(00-59) 
    %T 时间, 24-小时 (hh:mm:ss) 
    %U 周 (00-53) 星期日是一周的第一天 
    %u 周 (00-53) 星期一是一周的第一天 
    %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 
    %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 
    %W 星期名 
    %w 周的天 (0=星期日, 6=星期六) 
    %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 
    %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 
    %Y 年,4 位 
    %y 年,2 位 
    实例
    下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
    DATE_FORMAT(NOW(),'%Y-%m-%d')
    DATE_FORMAT(NOW(),'%d %b %y')
    DATE_FORMAT(NOW(),'%d %b %Y %T:%f')结果类似:Dec 29 2008 11:45 PM
    2009-11-01
    29 Dec 08
    29 Dec 2008 16:25:46.635
      

  3.   

    这个语句mysql 中比MS SQL方便,MYSQL会自行判断日期型并做相应转换。mysql> select curdate() from dual
        -> where  curdate()='2009-11-01';
    +------------+
    | curdate()  |
    +------------+
    | 2009-11-01 |
    +------------+
    1 row in set (0.00 sec)mysql>