请教: 在MYSQL中,已知年/月/日三个整数,如何合成日期? 如题......多谢!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 逻辑相关的建议在程序中处理,mysql的话可以用concat函数连起来 感谢楼上(小桃子)的回复!!!我的应用是: 在一个表中有整型的年月日三个非空字段, 在表的trigger和function中, 需要把它们临时合并成一个date或datetime类型的数参与运算...... 所以,无法在程序中处理..... 你说的用concat连接, 是怎么回事??? 能否举个例子呢??? 再次感谢!!! 感谢楼上(小桃子)的回复!!!我的应用是: 在一个表中有整型的年月日三个非空字段, 在表的trigger和function中, 需要把它们临时合并成一个date或datetime类型的数参与运算...... 所以,无法在程序中处理..... 你说的用concat连接, 是怎么回事??? 能否举个例子呢??? 再次感谢!!! mysql> select concat('2010','10','10');+--------------------------+| concat('2010','10','10') |+--------------------------+| 20101010 |+--------------------------+1 row in set (0.00 sec) 临时合并成一个date或datetime类型的数参与运算难道你的所有运算一定要在mysql中完成么?可以先读到程序中,进行逻辑处理的啊 是的. 要求要在trigger中完成, 运算也不复杂, 比把记录传来传去, 对服务器而言,开销应该还要小一点.... 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> mysql> select date('2010-10-12');+--------------------+| date('2010-10-12') |+--------------------+| 2010-10-12 |+--------------------+1 row in set (0.04 sec)mysql> select DATE(concat(2010,10,10)) 如果是数值类型的,直接用DATE函数啊mysql> SELECT DATE(20101012);+----------------+| DATE(20101012) |+----------------+| 2010-10-12 |+----------------+1 row in set (0.00 sec) 字段year:2012 month:1 day:2怎么办,都是int类型的,用什么方法转换成时间戳或者是date类型如:2012-1-2 mysql cluster管理节点启动 mysql的并发问题 数据库备份出来的莫名其妙的问题 3个字段都是数字索引问题和sql优化 "加为好友"操作的一般实现 mysql存储数据的存储格式 在装MySQL的图形控制台时被告知指定的服务已存在,小弟甚是莫名其妙! sql统计 帮忙看看 22行是什么错误 在创建第2个表时 mysql 3表关联 求总数 求解,一次sql查询出9个父分类,和每个父分类对应的16个二级分类 两个mysqld.err中的错误
感谢楼上(小桃子)的回复!!!我的应用是: 在一个表中有整型的年月日三个非空字段, 在表的trigger和function中, 需要把它们临时合并成一个date或datetime类型的数参与运算...... 所以,无法在程序中处理..... 你说的用concat连接, 是怎么回事??? 能否举个例子呢??? 再次感谢!!!
+--------------------------+
| concat('2010','10','10') |
+--------------------------+
| 20101010 |
+--------------------------+
1 row in set (0.00 sec)
难道你的所有运算一定要在mysql中完成么?
可以先读到程序中,进行逻辑处理的啊
是的. 要求要在trigger中完成, 运算也不复杂, 比把记录传来传去, 对服务器而言,开销应该还要小一点....
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>
+--------------------+
| date('2010-10-12') |
+--------------------+
| 2010-10-12 |
+--------------------+
1 row in set (0.04 sec)mysql>
+----------------+
| DATE(20101012) |
+----------------+
| 2010-10-12 |
+----------------+
1 row in set (0.00 sec)