sql语句老是报错,帮忙见见
sql语句老是报错,帮忙看看!
declare @time varchar(50)
exec master..xp_cmdshell 'BCP "select top 2 * from eHR.dbo.TbBase_Emplbase" queryout d:/文件夹/'+@time+'.txt -c -S"." -U"sa" -P"james123$%^"' 帮我看看这个为什么+号附近一直错误
------解决思路----------------------
exec master..xp_cmdshell 'BCP "select top 2 * from eHR.dbo.TbBase_Emplbase" queryout d:/文件夹/'+CONVERT(VARCHAR(10),@time,120)+'.txt -c -S"." -U"sa" -P"james123$%^"'
@time是DATETIME类型吧,需要转换成字符串
------解决思路----------------------
我傻眼了,你一开始就写的VARCHAR(50)
try this
------解决思路----------------------
declare @time varchar(50)
exec master..xp_cmdshell 'BCP "select top 2 * from eHR.dbo.TbBase_Emplbase" queryout d:/文件夹/'+@time+'.txt -c -S"." -U"sa" -P"james123$%^"' 帮我看看这个为什么+号附近一直错误
------解决思路----------------------
exec master..xp_cmdshell 'BCP "select top 2 * from eHR.dbo.TbBase_Emplbase" queryout d:/文件夹/'+CONVERT(VARCHAR(10),@time,120)+'.txt -c -S"." -U"sa" -P"james123$%^"'
@time是DATETIME类型吧,需要转换成字符串
------解决思路----------------------
我傻眼了,你一开始就写的VARCHAR(50)
try this
DECLARE @sql VARCHAR(8000)
declare @time varchar(50)
SET @time=''
SET @sql='BCP "select top 2 * from eHR.dbo.TbBase_Emplbase" queryout d:/文件夹/'+@time+'.txt -c -S"." -U"sa" -P"james123$%^"'
exec master..xp_cmdshell @sql
------解决思路----------------------
-- xp_cmdshell 后面的动态语句必须事儿拼接完成,不能使用 + 这类型方法。
-- 你的 @time 没有赋值 ,可能不会有结果,
-- 下面这个,2008 下跑通的,你再改成你的 表名 和密码。
declare @time varchar(50)
declare @sql varchar(200)
set @time = CONVERT(varchar(10),getdate(),121)
set @sql = 'BCP "select top 2 * from sysobjects" queryout d:/'+ @time+'.txt -c -S"." -U"sa" -P"sa"'
exec master..xp_cmdshell @sql