SQL语句 变量连接

来源:百度知道 编辑:UC知道 时间:2024/07/07 21:11:20
declare @sql varchar(1000)
set @sql='男'
EXEC master..xp_cmdshell 'bcp "Select top 10 * from DBname.dbo.OBJstudent where fsex= '''+ @sql + '''" queryout "d:\tt.txt" -c -t ,-Usa -Ppassword'
报错:
服务器: 消息 170,级别 15,状态 1,行 11
第 11 行: '+' 附近有语法错误。
如果将变量'+@sql+'换成常数“男”,那么语句就可以执行。
请大家指教,怎么把变量@sql写到本语句中。
感谢二楼,你可以运行通过不?你的方法我试了,出错。
错误报告:
'+' 附近有语法错误。

declare @sql varchar(1000)
declare @bcpSql varchar(1000)
set @sql='男'
set @bcpSql='bcp "Select top 10 * from DBname.dbo.OBJstudent where fsex= '''+ @sql + '''"
queryout "d:\tt.txt" -c -t ,-Usa -Ppassword'
EXEC master..xp_cmdshell @bcpSql
我试了,没报错。

改成:
declare @sql varchar(1000)
set @sql='男'
EXEC master..xp_cmdshell 'bcp "Select top 10 * from DBname.dbo.OBJstudent where fsex= '+char(39)+@sql+char(39)+'" queryout "d:\tt.txt" -c -t ,-Usa -Ppassword'

"Select top 10 * from DBname.dbo.OBJstudent where fsex=@sql“