2010-10-22 193 views
0

不确定这是否是适当的“编程”问题,但与其相关。 是否有一种方法通过SQL或Excel甚至为大量的值添加引号,例如我想添加值a,b,c,d,e,f,g,j等等等等到表中有没有我可以自动添加引号给他们吗?在 'A', 'B' 等等......批量将引号添加到SQL值

我有这样的问题,尤其是在我的SELECT * FROM表,其中在( '值1', '值')列...

谢谢.. 。

+0

请更具体一点,是否要将引号添加到列的值,还是要将值添加到列中? – 2010-10-22 10:22:38

+0

你从哪里得到你的价值?一个文本文件?一个问题?一个Excel文件? – 2010-10-22 10:28:33

+0

从diffent表复制粘贴 – andreas 2010-10-22 10:33:31

回答

0

不知道如果这能帮助或者是你问的是什么,但对于这样的质疑,你应该使用的参数,即像

SELECT ... WHERE column IN (?,?) 

这不仅是一个简单的方法,但也意味着,如果某人在他们给你的价值中放入一个单引号,你的查询的形式不能改变 - 这就是SQL Inj发生安全攻击。

+0

@ adrian不是我的意思...我想要一种自动为我的值添加''的方法,而不是手动添加引号和逗号......每次.. – andreas 2010-10-22 10:26:30

+0

neverminf ..在excel中使用串联谢谢 – andreas 2010-10-22 10:36:07

0

如果在其他表的同一列中有值,您coud使用选择查询

select '''' + cast(ValueColumn as nvarchar) + '''' as QuotedVal from MyTable 

,然后做你的复制/粘贴

+0

我得到一个错误,将数据类型varchar转换为数字时出错。 – andreas 2010-10-22 11:47:56

+0

编辑也可以使用数字(将投影添加到nvarchar) – 2010-10-22 12:59:46

1

我通常解决这类使用Excel问题 - 如果你在列中输入你的源值,然后你可以使用一个Excel公式来连接它们周围的引号(例如= CONCATENATE(“'”,A1,“'”)),甚至可以扩展它来构建完整SQL语句。