sql查询字符串拼接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询字符串拼接相关的知识,希望对你有一定的参考价值。
如图中的拼接方法 怎么拼接才正确呢?
参考技术A 拼串的时候用char(39) 代替单引号,char(37)代替%SET @sql = 'SELECT * FROM authors WHERE address LIKE '+char(39)+char(37)+@str+char(37)+char(39)本回答被提问者采纳 参考技术B 不要用双引号 只用单引号
SET @sql = 'SELECT * FROM authors WHERE address LIKE ''%'+@str+'%''' 参考技术C 定义\为转义字符
SET @sql = 'SELECT * FROM authors WHERE address LIKE '\'%\'+@str+\'%\'' ESCAPE '\' 参考技术D 带参数的不能这么调用。参考MSDN的sp_executesql
sp_executesql [ @stmt = ] stmt
[
, [@params=] N'@parameter_name data_type [ OUT | OUTPUT ][,...n]'
, [ @param1 = ] 'value1' [ ,...n ]
]
例:
DECLARE @IntVariable int;
DECLARE @SQLString nvarchar(500);
DECLARE @ParmDefinition nvarchar(500);
/* Build the SQL string one time.*/
SET @SQLString =
N'SELECT EmployeeID, NationalIDNumber, Title, ManagerID
FROM AdventureWorks.HumanResources.Employee
WHERE ManagerID = @ManagerID';
SET @ParmDefinition = N'@ManagerID tinyint';
/* Execute the string with the first parameter value. */
SET @IntVariable = 197;
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@ManagerID = @IntVariable;
/* Execute the same string with the second parameter value. */
SET @IntVariable = 109;
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@ManagerID = @IntVariable;
Excel 2013拼接Sql字符串
在做开发的过程中,经常需要根据Excel中的数据去数据库查询,少量数据还可以去复制粘贴,大量数据时就需要将Excel中的数据拼接成自己需要的Sql,以提升工作效率。
场景1:将某一列拼接成Sql中的In条件
假设现在有如下的Excel数据,我需要从数据库中查询出这些门店的数据
操作方法如下图所示:
将生成的一列数据复制到Visual Studito Code中,进行替换即可
场景2:将某一列拼接成C#中的List
假设现在有如下的Excel数据,我需要将这些值写在C#中的List<string>中
操作方法如下图所示:
将生成的一列数据复制到Visual Studito Code中,进行替换即可
场景3:拼接Sql语句
假如有如下的Sql语句,现需要将Where条件中的StoreCode的值替换为Excel中的值
SELECT st.StoreCode , st.StoreName , s.SellerName , so.SellerOrgName FROM dbo.Fct_Store AS st INNER JOIN dbo.Fct_Seller AS s ON s.Disabled = 0 AND st.SellerCode = s.SellerCode INNER JOIN dbo.Config_SellerOrg AS so ON so.Disabled = 0 AND s.SellerOrgCode = so.SellerOrgCode WHERE st.Disabled = 0 AND st.StoreCode = ‘10000196‘;
按照场景1和2中的方式,将Sql语句复制到Excel中,提示如下信息:
此时,就需要用到Excel中的CONCATENATE()函数,如下所示:
以上是关于sql查询字符串拼接的主要内容,如果未能解决你的问题,请参考以下文章