工作中我经常写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. 什么是SaaS?

    SaaS的定义 SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务. SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际 ...

  2. Net中异步

    同步和异步1.同步是指只启动一个线程2.异步是指同时启动多个线程3.同步方法会卡界面,异步方法不会卡界面 原因:异步方法启动了子线程执行任务,主线程得到释放4.同步方法会慢.异步方法会快 原因:异步启 ...

  3. Docker的4种网络模式详细介绍

    docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: bridge模式:使用–net =bridge指定: host模式:使用–net = ...

  4. 使用Spring Data ElasticSearch+Jsoup操作集群数据存储

    使用Spring Data ElasticSearch+Jsoup操作集群数据存储 1.使用Jsoup爬取京东商城的商品数据 1)获取商品名称.价格以及商品地址,并封装为一个Product对象,代码截 ...

  5. Java案例——字符串拼接

    /*案例:将一个int数组中的元素拼接为一个字符串 分析:1.静态定义一个int数组 2.定义方法将数组元素遍历并拼接,返回类型为String 3.定义变量接受方法所拼接出来的字符串 4.输出* */ ...

  6. new和@Autowired的区别

    controller层: @RequestMapping("/payment") @RestController public class WxPayController { pu ...

  7. python3输出由1、2、3、4这四个数字组成的每位数都不相同的所有三位数

    for i in range(1,5): for j in range(1,5): for k in range(1,5): if(i!=j and i!=k and j!=k): print(i*1 ...

  8. phpcms 2008 变量覆盖漏洞

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 3.点击新建项目按钮,弹出对画框中选择(C:\ ...

  9. luoguP6623 [省选联考 2020 A 卷] 树(trie树)

    luoguP6623 [省选联考 2020 A 卷] 树(trie树) Luogu 题外话: ...想不出来啥好说的了. 我认识的人基本都切这道题了. 就我只会10分暴力. 我是傻逼. 题解时间 先不 ...

  10. NLP 自然语言处理实战

    前言 自然语言处理 ( Natural Language Processing, NLP) 是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和 ...