我有一个mysql的时间字段,是TIMESTAMP类型的,我想获取年日月前10个字符,也就是
2009-06-18 20:22:10 里面的2009-06-18,我是用left(s.time,10)函数获取的,这个函数的效率会不会很低啊,谢谢大家
2009-06-18 20:22:10 里面的2009-06-18,我是用left(s.time,10)函数获取的,这个函数的效率会不会很低啊,谢谢大家
解决方案 »
- MySql 服务无法启动 请高手指教
- mysql按小时统计注册人数怎么弄,只有一个注册时间字段格式为('2010-06-10 20:39:18')
- MSsql存储过程转换Mysql存储过程失败
- PostgreSQL 字段值 大小写问题
- ■安装mysql-5.0.19-win32时出现的奇怪问题,大家帮忙!!!在线等...
- 麻烦给解释一下mysql的表类型的区别及什么情况下使用何种类型!!
- 这个简单update语句怎么耗时这么多
- 有没有人用过mysql to access demo?
- 查询运行时间
- 求助 1054 - Unknown column '*' in 'where clause'的问题
- 关于存储过程问题
- windows平台下drop table时出现'ODBC'@'localhost'错误信息
127.0.0.1~root@localhost~(none)>select date('2009-06-18 20:22:10');
+-----------------------------+
| date('2009-06-18 20:22:10') |
+-----------------------------+
| 2009-06-18 |
+-----------------------------+
1 row in set (0.00 sec)
日期函数,LEFT是字符串函数。
效率不清楚,
效率比较差,另外也不保证你的这个安全。不如一楼的直接用date() 函数快。但效率最好的则是
where 时间字段 between '2009-06-18' and '2009-06-18 23:59:59'
你要在时间列上做手脚 一般也是采用时间函数 而不是字符串函数
2L给了date()函数
推荐使用3L的 between and
这样不给列做函数,就可以走索引
求指点~