如题......多谢!!!!!!

解决方案 »

  1.   

    逻辑相关的建议在程序中处理,mysql的话可以用concat函数连起来
      

  2.   

    感谢楼上(小桃子)的回复!!!我的应用是: 在一个表中有整型的年月日三个非空字段, 在表的trigger和function中, 需要把它们临时合并成一个date或datetime类型的数参与运算...... 所以,无法在程序中处理..... 你说的用concat连接, 是怎么回事??? 能否举个例子呢??? 再次感谢!!!
      

  3.   


    感谢楼上(小桃子)的回复!!!我的应用是: 在一个表中有整型的年月日三个非空字段, 在表的trigger和function中, 需要把它们临时合并成一个date或datetime类型的数参与运算...... 所以,无法在程序中处理..... 你说的用concat连接, 是怎么回事???  能否举个例子呢??? 再次感谢!!!
      

  4.   

    mysql> select concat('2010','10','10');
    +--------------------------+
    | concat('2010','10','10') |
    +--------------------------+
    | 20101010                 |
    +--------------------------+
    1 row in set (0.00 sec)
      

  5.   

    临时合并成一个date或datetime类型的数参与运算
    难道你的所有运算一定要在mysql中完成么?
    可以先读到程序中,进行逻辑处理的啊
      

  6.   


    是的. 要求要在trigger中完成, 运算也不复杂, 比把记录传来传去, 对服务器而言,开销应该还要小一点....
      

  7.   


    mysql> select date_format(concat(2010,10,10),'%Y-%m-%d');
    +--------------------------------------------+
    | date_format(concat(2010,10,10),'%Y-%m-%d') |
    +--------------------------------------------+
    | 2010-10-10                                 |
    +--------------------------------------------+
    1 row in set (0.00 sec)mysql>
      

  8.   

    mysql> select date('2010-10-12');
    +--------------------+
    | date('2010-10-12') |
    +--------------------+
    | 2010-10-12         |
    +--------------------+
    1 row in set (0.04 sec)mysql>
      

  9.   

    select DATE(concat(2010,10,10)) 
      

  10.   

    如果是数值类型的,直接用DATE函数啊mysql> SELECT DATE(20101012);
    +----------------+
    | DATE(20101012) |
    +----------------+
    | 2010-10-12     |
    +----------------+
    1 row in set (0.00 sec)
      

  11.   

    字段year:2012 month:1 day:2怎么办,都是int类型的,用什么方法转换成时间戳或者是date类型如:2012-1-2