使用NotePad++录制宏功能如何快速将sql搜索条件加上前后单引号

所属分类: 数据库 / MsSql 阅读数: 1665
收藏 0 赞 0 分享

 當我們有很多筆的條件要對資料庫進行搜尋時,常常會用到下列的語法

 SELECT
 *
 FROM
 Member
 WHERE
 accunt in
 (
 'Tom',
 'John',
 'May'
 )

在上述語法 IN 的搜尋條件中,有 Tom、John、May 三個帳號條件,資料量少的話,還可以一筆一筆的在帳號的前後加上單引號及後面加上逗號,可是當你遇到要一次查詢50個帳號的情況,一筆一筆的輸入,應該會耗費不少時間。
以前我都會用 Excel 裡的 CONCATENATE 函式來處理這樣的資料,但是有一天同事教我可以用 NotePad++ 的巨集功能來完成這件事情

我覺得這方式比在 Excel 處理還快速,所以在這裡分享一下

1. 將要處理的搜尋條件貼到 NotePad++,以下圖來看,有 25 筆 (圖中的英文名字是從 google 隨機搜尋到的清單)

2. 因為巨集就是將你的操作紀錄下來,所以先將游標移到第一筆資料的開始位置,然後按下 NotePad++ 工具列上的巨集按鈕,開始錄製

3. 因為游標已經在最開頭,也就是第一筆資料的位置,所以請直接用鍵盤,按照下面的鍵盤按鍵順序進行輸入(下方括號中的都是鍵盤的按鍵喔)

「'」→「End」→「'」→「,」→「↓」→「Home」

4. 按照第三步驟做完後,應該會變成如下圖的樣子,第一筆搜尋條件已經加上前後單引號跟最後面的逗號了

5. 確認步驟 4完成後,點選下圖的按鈕停止錄製巨集

6. 錄完之後,剩下的 24 筆資料就可以利用巨集處理啦,先跑一次試試看是否正常

點選下圖的按鈕播放巨集(此時游標還在第二筆資料的開始位置喔~)

7. 播放巨集後,可以看見第二筆資料也被處理好了,游標也移動到第三筆資料的開始位置了

8. 驗證巨集沒問題後,接下來就一口氣讓巨集執行到最後一筆資料吧

點選下圖步驟1的按鈕來重複執行巨集,然後在提示視窗中,選擇「執行到文件結尾」,然後按下執行

9. 執行完成後,可以看到所有的條件都被加上前後單引號以及逗號了,只是要注意的是,最後一筆的搜尋條件,最後面會有個逗號

記得要把這逗號刪除再貼到 SQL 語法中,否則查詢會失敗喔~

(執行完成後,重複執行單一巨集的視窗不會自動關閉,此時按取消即可)

10. 完成上述的步驟,需求已經達到了,只是如果此時關閉 NotePad++ 的話,下次遇到同樣情況,就還要再錄一次巨集

幸好 NotePad++ 有提供儲存巨集的功能,所以我們可以把這次錄好的巨集存下來,下次就可以直接使用了

點選下圖步驟 1 的按鈕,開啟巨集儲存的視窗,在「Name」的輸入欄位中替這次的巨集取一個名字,完成後按下「OK」按鈕

11. 此時把 NotePad++ 關閉,然後再開啟,把未處理的資料再貼上去,在點選「重覆執行單一巨集」的按鈕,就可以在視窗中選擇我們剛剛儲存的巨集了

選取剛剛儲存的巨集,然後選擇執行到文件結尾後按下執行,就可以看到跟步驟 9 一樣處理完成後的結果了~

更多精彩内容其他人还在看

sqlserver中将varchar类型转换为int型再进行排序的方法

sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话
收藏 0 赞 0 分享

在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名

在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程呢
收藏 0 赞 0 分享

sqlserver bcp(数据导入导出工具)一般用法与命令详解

bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据
收藏 0 赞 0 分享

重命名SQLServer数据库的方法

本文讲解重命名SQLServer 数据库,包括物理文件名、逻辑文件名的改名
收藏 0 赞 0 分享

SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)

昨天在项目中遇到了一个非常简单的问题,需要把SQL Server数据库中保存的一段路径地址取出其文件名,但SQL Server又没有现成的方法,最后在网上找到这样的一个方法,原理是先将字符串反转,取出第一个/的位置,从头进行截取后再次反转
收藏 0 赞 0 分享

使用SqlBulkCopy时应注意Sqlserver表中使用缺省值的列

今天,想将以前做的一个程序增加点功能,原本就使用SqlBulkCopy批量、定时的从目录中的txt文件导入数据到Sqlserver中。以前一直都使用正常,但是不知怎的就老是出现一个错误
收藏 0 赞 0 分享

Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法

讲解一下sql 2005日志怎么清理。一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
收藏 0 赞 0 分享

SQL Server 2000 清理日志精品图文教程

SQL Server 2000 数据库日志太大!如何清理SQL Server 2000的日志呢
收藏 0 赞 0 分享

SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

如何在SQL中对行进行动态编号,加行号这个问题,在数据库查询中,是经典的问题
收藏 0 赞 0 分享

sql分类汇总及Select的自增长脚本

对错误信息进行分类汇总,并实现错误数据的自增长编号
收藏 0 赞 0 分享
查看更多