【问题标题】:SQL Server Agent throws error. SQL Statement works manuallySQL Server 代理引发错误。 SQL 语句手动工作
【发布时间】:2014-05-07 11:30:22
【问题描述】:

我尝试创建一个执行此命令的 SQL Server 代理任务:

use PPTEST
Update PPTEST.dbo.T_AUAU
SET PPTEST.dbo.T_AUAU.auaulart = auli.auliart
From PPTEST.dbo.T_AUAU auau
INNER JOIN
    PPTEST.dbo.T_AULI auli
on
    auau.auauaunr = auli.auliaunr
where CONVERT(date, LEFT(auli.timest, 10 )) >= CONVERT(date, getdate()) 
AND CONVERT(time, SUBSTRING(auli.timest, 12, 8 )) > CONVERT(time, DATEADD( hour, -1, getdate()))
AND auli."auliart" NOT  LIKE '' 

如果我手动启动查询,它工作正常,但服务器代理抛出以下异常:

Wrong Syntax next to 'auliart' [SQLSTATE 42000] (Error 102)

【问题讨论】:

  • NOT LIKE '' 打算做什么?
  • NOT LIKE '' 可以替换为 != ''。使用 LIKE 的查询的执行速度通常低于使用其他运算符(=、!=、

标签: sql sql-server sql-server-2008 tsql sql-agent


【解决方案1】:

使用 [] 作为引号 (") 的列分隔符:

AND auli.[auliart] NOT  LIKE '' 

【讨论】:

    【解决方案2】:

    尝试在下面提到的引号上使用括号代替

    auli.[auliart]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多