Ell*_*uez 4 sql-server t-sql sql-server-2008-r2
在 SQL Server Management Studio 中,您可以使用快捷方式CTRL + K > C或CTRL + K > U批量注释/取消注释行。
是否有类似的键盘功能可以在值列表中应用单引号?我有 150 个从 Excel 电子表格复制的 ID,我想在此列表上执行使用 IN 子句的查询,我不想在每个项目周围手动添加单引号和逗号。
例如:
SELECT * FROM tbl WHERE someValue IN (
ABC1
ABC2
ABC3
ABC4
)
Run Code Online (Sandbox Code Playgroud)
我想突出显示这些值并使用键盘快捷键将列表变成:
SELECT * FROM tbl WHERE someValue IN (
'ABC1',
'ABC2',
'ABC3',
'ABC4'
)
Run Code Online (Sandbox Code Playgroud)
Aar*_*and 12
获取更新的 Management Studio 副本(2012 SP2和2014都是免费的、功能齐全的,并且可以与您的 2008 R2 工具共存)。然后你可以这样做。
ABC.'。这很微妙,但您应该在这里看到一条微弱的蓝色垂直线,表明击键实际上会影响所有 4 行(或 150 行)。

如果您不想使用更现代的 Management Studio 版本,只需在 Excel 中添加这些内容即可。插入一个新列,在您想要的第一个单元格中放置一个单引号,将鼠标悬停在单元格的右下角,直到光标变成实心+,然后单击并拖动到底部:

第二单引号,逗号等重复全部复制,粘贴到SSMS,然后做一个快速的更换'<tab>,<tab>',等等。
您的第三种选择是使用正则表达式,适用于所有版本的 SSMS
{.+}'\1',该正则表达式表示找到所有内容并记住我们找到的内容\1用 tic 标记和逗号将找到的所有内容替换掉
如果您有更复杂的要求,请在 Find what 列出正则表达式方言 SSMS/Visual Studio 上的下拉箭头旁边的右侧 V 形符号

为了补充 Aaron 的出色答案,还有一种方法可以使用键盘快捷键在多行末尾添加字符,即使这些行具有不同的长度。(如果它们具有相同的长度,只需使用 Aaron 提到的 Alt+Shift 技巧)。
您的光标现在应该位于每行的末尾。
资料来源:jason.odonnell 对https://www.brentozar.com/archive/2015/04/ssms-alt-shift-trick/#comment-3691282的评论