不冷博客

使用Java将sql语句中的关键字转换为大写

sql语句的关键词有人喜欢大写,有人喜欢小写,小写的可能更方便一点,因为大写还需要多按一个Caps Lock键,所以今天用Java写了将字符串中sql语句的关键词转换为大写的代码,感觉大写更美观一点,虽然看着可能不方便

思路

Java中String类有一个toUpperCase方法可以讲字母转化为大写,我们只需要在待转化的字符中筛选出需要转化的关键字即可,可以使用数组实现,实现这个功能还是很简单的,思路很重要。

测试sql语句

use ecommerce
go
create function GMSL(@订单号 nchar(10))  
returns @YYDS table
(订单号 nchar(10), 商品名称 nchar(10), 购买数量 int )
as
begin
    if(select 购买数量 from 购买信息表 where 订单号 = @订单号) > 2
        insert into @YYDS
        select 订单号,商品名称,购买数量 from 购买信息表
        where 订单号 = @订单号 and 购买数量 > 2
 return;
end
go
/*函数调用    订单号为 D002*/
select * from GMSL('D002')

Java代码

package com.buleng.pro_eight;

public class play {
    public static void main(String[] args) {
        //这里定义你需要转化的sql语句 String val = "内容";
        String val = "use ecommerce\n" +
                "go\n" +
                "create function GMSL(@订单号 nchar(10))  \n" +
                "returns @YYDS table\n" +
                "(订单号 nchar(10), 商品名称 nchar(10), 购买数量 int )\n" +
                "as\n" +
                "begin\n" +
                "\tif(select 购买数量 from 购买信息表 where 订单号 = @订单号) > 2\n" +
                "\t\tinsert into @YYDS\n" +
                "\t\tselect 订单号,商品名称,购买数量 from 购买信息表\n" +
                "\t\twhere 订单号 = @订单号 and 购买数量 > 2\n" +
                " return;\n" +
                "end\n" +
                "go\n" +
                "/*函数调用    订单号为 D002*/\n" +
                "select * from GMSL('D002')\n" +
                "\n";
        String str = val;
        //这里定义你需要转化的关键词
        String[] group = {"select", "use", "from", "exists", "if",
                "where", "else", "print", "begin", "update", "return", "create"
                , "insert", "as", "set", "break", "end", "into","go","any","while"};
        for (int i = 0; i < group.length; i++) {
            if (str.contains(group[i])) {
                //转回小写用toLowerCase
                str = str.replace(group[i], group[i].toUpperCase());
            }
        }
        System.out.println(str);
    }
}

效果

USE ecommerce
GO
CREATE function GMSL(@订单号 nchar(10))  
RETURNs @YYDS table
(订单号 nchar(10), 商品名称 nchar(10), 购买数量 int )
AS
BEGIN
    IF(SELECT 购买数量 FROM 购买信息表 WHERE 订单号 = @订单号) > 2
        INSERT INTO @YYDS
        SELECT 订单号,商品名称,购买数量 FROM 购买信息表
        WHERE 订单号 = @订单号 and 购买数量 > 2
 RETURN;
END
GO
/*函数调用    订单号为 D002*/
SELECT * FROM GMSL('D002')

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »