工作中我經常寫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