工作中我经常写sql,当写带in的语句时,需要敲好多单引号,逗号,敲写起来容易易出错。因此,我写了一个小工具,处理这种繁琐工作。原理简单,利用正则表达式匹配、替换。

先看界面,一个html页面,包含三个js函数。下面我会一一介绍:

一、 sql_in()按钮

为多个字符串加上单引号和逗号,结果可以直接用于sql中的in语句,效果如下:

按钮中的js函数:

function sql_in1(){

    //获取需要处理的字段,即上面的textarea里面的内容
var sqltext = document.getElementById('sqltext').value;
// 将开头和结尾的空格去掉
sqltext = sqltext.replace(/(^\s*)|(\s*$)/g, "");
//将每行结尾的回车替换成一个单引号、逗号、回车,再加一个单引号
sqltext = sqltext.replace(/"/g,'"+"\\""+"').replace(/[\r\n]/g,'\'\,\n\'');
//将结果的开头和结尾加上单引号
sqltext ="'" +sqltext +"'";
//将结果输出到下面的textarea
document.getElementById('javatext').value = sqltext; }

可直接将处理结果复制到sql语句中:

select * from table1 where id in ('30029',
'30021',
'30022',
'30027',
'30020')

二、sql_in(,)按钮

效果如下:

按钮js代码:

function sql_in2(){

    var sqltext = document.getElementById('sqltext').value;
// 将开头和结尾的空格去掉
sqltext = sqltext.replace(/(^\s)|(\s$)/g, "");
//将逗号替换成一个单引号、逗号、回车,再加一个单引号
sqltext = sqltext.replace(/[,]/g,'',\n'');
//将结果的开头和结尾加上单引号
sqltext ="'" +sqltext +"'";
document.getElementById('javatext').value = sqltext;
}

三、js_in(,)按钮

效果如下:

按钮js代码:

function js_in(){

    var sqltext = document.getElementById('sqltext').value;
// 将开头和结尾的空格去掉
sqltext = sqltext.replace(/(^\s)|(\s$)/g, "");
//将每行结尾的回车替换成一个逗号
sqltext = sqltext.replace(/[\r\n]/g,',');
document.getElementById('javatext').value = sqltext; }

以上是我工作中经常遇到的需要处理的字符串格式,欢迎热心的小伙伴补充其他常见的形式。

下面是这个工具的下载链接,欢迎各位下载:

https://files.cnblogs.com/files/iceriver315/sqlconvert2.rar?t=1645951574

正则表达式小技巧,sql中in的字符串处理的更多相关文章

  1. grep的用法,小技巧,模板中含有\t时:grep -P "^\t" file

    linux中grep和find的用法区别 本文章详细的介绍了关于在linux中的grep和find两个命令的用法介绍,以及后面总结了它们两年用法区别哦. 先我们来介绍一下关于grep用法和一些小注意事 ...

  2. (小技巧)Sql server查看sql语句的执行时间(转)

    转自CSDN: 在写数据库sql的时候,我们往往很关心该sql语句的执行效率,如下小技巧可以帮助程序员简单快速的得到某条或某几条sql的执行时间. declare @d datetime set @d ...

  3. sql中判断某个字符串是否包含一个字符串

    如果想从SQL Server中查询包含某个关键字的东东,怎么查询呢? 一般有两个方法: 1.用like——select * from tablename where field1 like like ...

  4. javascript正则表达式小技巧

    一.中括号[]里面的特殊字符是不用转义的,例如[/].[.].[*].[?].[+]都是可以直接匹配对应的字符\ . *?+.下面是测试结果: 所以,/[\d.]/这个正则表达式实际上是匹配数字字符或 ...

  5. 正则表达式小应用之对xml格式字符串每个字段加双引号

    通过Python对接口进行自动化后需要把xml格式的报文放到LoadRunner上进行压力测试,在pyCharm控制台打印出报文后,把报文放到LoadRunner中做了格式调整后,每个字段需要添加双引 ...

  6. SQL中常用的字符串LEFT函数和RIGHT函数详解!

    今天继续整理日常可能经常遇到的一些处理字符串的函数,记得点赞收藏!以备不时之需!看到最后有惊喜! LEFT(expression, length)函数 解析:从提供的字符串的左侧开始提取给定长度的字符 ...

  7. iOS开发小技巧 - label中的文字添加点击事件

    Label中的文字添加点击事件 GitHub地址:https://github.com/lyb5834/YBAttributeTextTapAction 以前老师讲过类似的功能,自己懒得回头看了,找了 ...

  8. SQL中返回一个字符串在另一个中存在的次数

    ALTER FUNCTION [reg].[f_GetSameStringCntNoSort] ( @str1 VARCHAR(),--源字符串,取该串中的@strLen长度的字符是否在目的字符串 @ ...

  9. [小技巧]C#中如何为枚举类型添加描述方法

    背景 在我们的日常开发中,我们会经常使用枚举类型.有时我们只需要显示枚举的值或者枚举值对应名称, 但是在某些场景下,我们可能需要将枚举值显示为不同的字符串. 例: 当前我们有如下枚举Level pub ...

随机推荐

  1. 从此 Typora 代码块有了颜色

    起因 平时喜欢用typora记笔记,但是typora默认代码块没有指定语言,没有高亮看着很不舒服,所以用Autohotkey花了半天写了个脚本,按自己的快捷键就可以自动生成代码块并添加语言,这样就方便 ...

  2. Seata XA 模式示例分析

    @ 目录 1 下载示例 2 示例结构 3 业务服务 business-xa 3.1 模块结构 3.2 Controller 层 3.3 Service 层 3.4 stock Feign 客户端 3. ...

  3. 报错 ——Error evaluating expression 'id != null id > 0'.

    Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error qu ...

  4. 你应该知道的Redis过期键和过期策略

    今天,我和大家分享一篇关于 Redis 有关过期键的内容,主要有四个内容: 如何设置过期键 如何取消设置的过期时间 过期键的过期策略是怎样的 RDB.AOF 和复制对过期键的处理又是怎样的 设置键的生 ...

  5. 实习项目1-串口IP升级调试

    设计目标:设计一个串口IP,要求1:输入时钟频率任意,如0-400M时钟频率:要求2:波特率超过常见的115200,要求达到4M. 设计核心思路:波特率计算公式,divp10x = (10 * fsy ...

  6. 设置一段文字的大小为6px?

    谷歌最小12px, 其他浏览器可以更小 通过transform: scale实现

  7. 请说说你对Struts2的拦截器的理解?

    Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 拦截器栈(Interceptor Stac ...

  8. @Qualifier 注解?

    当有多个相同类型的bean却只有一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用以消除这种混淆,指定需要装配的确切的bean. Spring数据访问

  9. nginx简介&nginx基本配置和优化

    一.nginx简介 1.nginx的发展 Nginx是俄罗斯人编写的一款高性能HTTP和反向代理服务器.Nginx能够选择高效的epoll(Linux2.6内核).kqueue(FreeBSD).ev ...

  10. Mybatis使用拦截器自定义审计处理

    void test_save_1(@Param("relatedBookCategoryEntity") RelatedBookCategoryEntity relatedBook ...