二个问题
1.如何用一个日期值返回一个中文。 如:从 2011-01-03 转为 11年01月。
2.如何用一个日期值返回一个数字1或2,上半年为1,下半年为2。如  2011-01-03 转为 1,2011-08-11转为2

解决方案 »

  1.   

    1:
    select DATE_FORMAT('2011-01-03','%y年%m月');2:
    还真不知道有这个函数.
      

  2.   

    mysql> set @d='2011-01-03';
    Query OK, 0 rows affected (0.00 sec)mysql> select if(month(@d)<=6,1,2);
    +----------------------+
    | if(month(@d)<=6,1,2) |
    +----------------------+
    |                    1 |
    +----------------------+
    1 row in set (0.00 sec)mysql>
    mysql> set @d='2011-08-11';
    Query OK, 0 rows affected (0.00 sec)mysql> select if(month(@d)<=6,1,2);
    +----------------------+
    | if(month(@d)<=6,1,2) |
    +----------------------+
    |                    2 |
    +----------------------+
    1 row in set (0.00 sec)mysql>
      

  3.   


    顶狼头;
    我也写一个,不过还是狼头大哥的简洁.
    select if(DAYOFYEAR('2011-01-03') < DAYOFYEAR('2011-12-31')/2,1,2) as year_P;
    select if(DAYOFYEAR('2011-08-11') < DAYOFYEAR('2011-12-31')/2,1,2) as year_P