%Y 是2009年
%y 09年%m 是09月
%c 是 9月%d 是09日
%e 是 9日
为什么 date_format(time,'%Y-%m')<'2009-09' 的查询结果比 date_format(time,'%Y-%c')<'2009-9'的查询结果多?也不能说是多, 是'%Y-%c'的结果不全 有缺漏  这是为什么?

解决方案 »

  1.   

    TIME中的内容SELECT '2009-12'<'2009-9','2009-12'<'2009-09'看看结果
      

  2.   

    结果........没法给的了time是个datetime字段一个是用的%m  月份1位数的前面必须加个零
    一个是用的%c  月份1位数的可以直接写,不用加零
      

  3.   

    '2009-12' <'2009-9' 结果是TRUE
    '2009-12' <'2009-09' 结果是FALSE
    明白了9>1,09<12
      

  4.   

    date_format(time,'%Y-%c') <'2009-9'
    '2009-09' < '2009-9'
    2009-89' <  '2009-9'注意是字符串比较。
      

  5.   

    字符串比较,你在MYSQL中测试一下嘛'2009-12' <'2009-9' 结果是TRUE
    9>1
    '2009-12' <'2009-09' 结果是FALSE
    12>09
      

  6.   


    字符串的比较A<AA<AAA<B'1'<'11'<'1112'<'2'先比第一个字符,如果相同再比第二个字符。依此类推。
      

  7.   

    是在不理解“字符串比较”的话还是把字符'2009-09' 转为日期格式后直接用日期比较的方式吧,如DATEDIFF,具体可以查手册。