zoukankan      html  css  js  c++  java
  • SQL关键字转换大写核心算法实现

    1 不跟你多废话 上代码!

     View Code

    2 原理

      第一步 :将一个SQL语句字符串拆开来,拆成 字符串-符号串-字符串-符号串-符号串-字符串 这样

      第二步 :然后判断字符串是不是关键字,是的话就转成大写

      第三部 :再将这些串拼起来

    3 实现

      原理看似很简单,但实现却不简单。

      要处理两个问题

        1 不可能全转换之后再处理拼接,所以必须边拼接边转换

        2 状态切换,什么时候推送

      实现步骤

        1 源串打碎成char数组

        2 拼接 重点是判断 如何确定 字母和符号状态,以及在状态切换至将缓冲区推送。详情看代码

        3 最后要再做一次,因为遍历之后最后一个串没有机会被推送

    4 使用效果

      

    5 后记

      最近公司修改了SQL规范,要求SQL关键字大写,诶,我写了那么多没上线,都要改。作为一个程序员,这肯定是可以用代码来干的啊。

      于是,我动手百度!对我没有自己写,我懒。

      百到了一个工具,为了安全起见,我反编译了工具,看了看代码。没危险。但是啊,看不懂,功能倒是实现了。

      于是我就先用着把我的SQL都改了。

      但是我觉得,我看不懂啊,没学到。我想自己去实现!

      于是随后的几天我开始思索如何来将SQL关键字变大写,又不会影响其他的部分,包括回车换行这些不可见符号(就是不能用不可见符号做分割,因为如果有相连的不可符号,切割之后会丢失)。

      在公司的年会上

      我终于想到了,看着我身旁的妹子们(我同事),诶亚,好激动。

      利用闲暇时间,写了这个,独立的思考没有参考我找的的工具的代码。

      核心算法发出来,一起学习与交流。

  • 相关阅读:
    cakephp引用CSS方法
    CakePHP Pagination (分頁功能) 加入自己的參數
    CakePHP 1.2 Model 資料驗証 (Data Validation) 簡介
    cakephp 配置
    CakePHP Pagination (分頁功能)
    CakePHP你必须知道的21条技巧
    CakePHP 1.2 Controller 簡介
    关于fckEditor的功能配置PHP版
    CakePHP 1.2 簡易安裝與設定
    CakePHP處理HTTP Request 典型的流程
  • 原文地址:https://www.cnblogs.com/chenliyang/p/6543627.html
Copyright © 2011-2022 走看看