[原创]PHP实现SQL语句格式化功能的方法


Posted in PHP onJuly 28, 2017

本文实例讲述了PHP实现SQL语句格式化功能的方法。分享给大家供大家参考,具体如下:

一、问题:

要求使用php实现针对sql语句的格式化功能

二、解决方法:

这里使用github上的开源代码实现SQL格式化功能。

github下载地址:https://github.com/till/sql-formatter

或者点击此处本站下载

使用方法:

include包含SqlFormatter.php文件,针对sql语句使用format方法即可实现格式化功能。

具体代码如下:

<?php
include('SqlFormatter.php');
$sql="SELECT DATE_FORMAT(b.t_create, '%Y-%c-%d') dateID, b.title memo
  FROM (SELECT id FROM orc_scheme_detail d WHERE d.business=208
  AND d.type IN (29,30,31,321,33,34,3542,361,327,38,39,40,41,42,431,4422,415,4546,47,48,'a',
  29,30,31,321,33,34,3542,361,327,38,39,40,41,42,431,4422,415,4546,47,48,'a')
  AND d.title IS NOT NULL AND t_create >=
  DATE_FORMAT((DATE_SUB(NOW(),INTERVAL 1 DAY)),'%Y-%c-%d') AND t_create
  < DATE_FORMAT(NOW(), '%Y-%c-%d') ORDER BY d.id LIMIT 2,10) a,
  orc_scheme_detail b WHERE a.id = b.id";
echo SqlFormatter::format($sql);
?>

运行结果如下图所示:

[原创]PHP实现SQL语句格式化功能的方法

PS:更多的用法还可参考源码中的examples.php示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php Mysql日期和时间函数集合
Nov 16 PHP
php修改时间格式的代码
May 29 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
PHP简单实现“相关文章推荐”功能的方法
Jul 19 PHP
php获取json数据所有的节点路径
May 17 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
Oct 15 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 PHP
使用php自动备份数据库表的实现方法
Jul 28 #PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 #PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 #PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 #PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 #PHP
PHP实现的Redis多库选择功能单例类
Jul 27 #PHP
PHP策略模式定义与用法示例
Jul 27 #PHP
You might like
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
joomla数据库操作示例代码
2016/01/06 PHP
地震发生中逃生十大法则
2008/05/12 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
python实现微信小程序自动回复
2018/09/10 Python
python实现函数极小值
2019/07/10 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
实例代码讲解Python 线程池
2020/08/24 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
资料员的岗位职责
2013/11/20 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
拆迁委托协议书
2014/09/15 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书