使用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')