小编最近开发的一些项目中,遇到很多奇葩的问题,最多的问题也就是对数据库的查询操作问题了,现在列举一些开发中遇到的sql
1、查询时间,毋庸置疑,每个程序中都会涉及的一些问题, 比如查询今天的数据统计:
SELECT COUNT(sign_id) FROM table WHERE DATE_FORMAT(sign_at, ‘%Y-%m-%d’) = DATE_FORMAT(DATE(NOW()), ‘%Y-%m-%d’) AND id =XX;
这条sql语句就是用来统计今天的一些数据的;
SELECT COUNT(id) FROM contacts_view WHERE created_at >= ( CURDATE() – INTERVAL 15 DAY )
这条sql语句就是用来统计15天的一些数据的;一次类推 3天, 5天, 9天;
类似还有
2、SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
查询本月的记录等等;
3、查询附近的人,一直以来对微信的附近的人比较好奇,今天也碰到这方面的问题,在师傅(主管)的帮助下找到这条语句.
SELECT user_id, ( 6731 * acos( cos( radians($lat) ) * cos( radians( lat ) ) * cos( radians( lng ) – radians($lng) ) + sin( radians($lat) ) * sin( radians( lat ) ) ) ) AS distance FROM user WHERE user_id != ? AND status = 1 AND lng IS NOT NULL AND lat IS NOT NULL ORDER BY distance
这条语句就轻松地解决了附近的人的问题,其中主要依赖的还是语句中的经纬度.来查找的;
4、正则表达式在php, js等中都是非常常见的一个表达式.我们可以用正则表达式来检验手机号码,身份证号码,邮箱等功能,其实sql语句也是可以实现正则匹配来达到查询效果的.sql语句中的正则匹配符号为”REGEXP “, 其实类似于sql中的like.
例如:
SELECT name FROM user WHERE name REGEXP ‘galen’;
查询表中所有名字
包含galen的所有用户,是不是要比like好用多了呢!好了今天小编对这次项目的关于遇到的sql的问题进行了一些总结,希望能帮助到大家。也希望大家可以一起合作交流.提升技术