Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:在“=CONVERTdate,DATEADDDAY,-7,GETDATE 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-30,GETDATE-这不是一个月 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-180,GETDATE-这不是6个月 选项重新编译; 适当地使用换行符和空白将使SQL更易于阅读和调试ISNULL@Adi,ADI+“%”将远远无法执行。您将日期时间比较作为大小写表达式的一部分,这是非法的。大小写表达式只能eturn一个值。根据这些比较应该做什么,您还可能从不同的分支获得完全不同的返回值,这也是非法的。那么DATEDIFFday、KAYITTARIHI、GetDateCase表达式返回标量值的原因是什么呢?看看您的吧;您有两个子句返回标量值,而另外3个子句返回标量值n一个布尔结果,然后将这些值与KAYITTARIHI进行比较,这没有任何意义。同样,一些格式会很快向您演示这个问题。_Sql_Sql Server_Tsql_Case - Fatal编程技术网

SQL Server:在“=CONVERTdate,DATEADDDAY,-7,GETDATE 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-30,GETDATE-这不是一个月 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-180,GETDATE-这不是6个月 选项重新编译; 适当地使用换行符和空白将使SQL更易于阅读和调试ISNULL@Adi,ADI+“%”将远远无法执行。您将日期时间比较作为大小写表达式的一部分,这是非法的。大小写表达式只能eturn一个值。根据这些比较应该做什么,您还可能从不同的分支获得完全不同的返回值,这也是非法的。那么DATEDIFFday、KAYITTARIHI、GetDateCase表达式返回标量值的原因是什么呢?看看您的吧;您有两个子句返回标量值,而另外3个子句返回标量值n一个布尔结果,然后将这些值与KAYITTARIHI进行比较,这没有任何意义。同样,一些格式会很快向您演示这个问题。

SQL Server:在“=CONVERTdate,DATEADDDAY,-7,GETDATE 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-30,GETDATE-这不是一个月 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-180,GETDATE-这不是6个月 选项重新编译; 适当地使用换行符和空白将使SQL更易于阅读和调试ISNULL@Adi,ADI+“%”将远远无法执行。您将日期时间比较作为大小写表达式的一部分,这是非法的。大小写表达式只能eturn一个值。根据这些比较应该做什么,您还可能从不同的分支获得完全不同的返回值,这也是非法的。那么DATEDIFFday、KAYITTARIHI、GetDateCase表达式返回标量值的原因是什么呢?看看您的吧;您有两个子句返回标量值,而另外3个子句返回标量值n一个布尔结果,然后将这些值与KAYITTARIHI进行比较,这没有任何意义。同样,一些格式会很快向您演示这个问题。,sql,sql-server,tsql,case,Sql,Sql Server,Tsql,Case,下面是一个向我的darknet项目返回查询的过程。我想在where中获取最近6个月、最近1周和最近1个月的记录 我将根据查询结果返回“KAYITTARIHI” ALTER PROCEDURE [dbo].[CVSearch] @Adi nvarchar(50) = NULL, @Soyadi nvarchar(50) = NULL, @BasvuruTarihi nvarchar(50) = NULL AS IF (@Adi = '') SET @

下面是一个向我的darknet项目返回查询的过程。我想在where中获取最近6个月、最近1周和最近1个月的记录

我将根据查询结果返回“KAYITTARIHI”

ALTER PROCEDURE [dbo].[CVSearch]
    @Adi nvarchar(50) = NULL,
    @Soyadi nvarchar(50) = NULL,
    @BasvuruTarihi nvarchar(50) = NULL
AS
    IF (@Adi = '')
        SET @Adi = NULL

    IF (@Soyadi = '')
        SET @Soyadi = NULL

    IF (@BasvuruTarihi = '')
        SET @BasvuruTarihi = NULL
            
    SELECT ID_CV 
    FROM CV 
    WHERE KULLANICILAR_CV_SILMEDURUMU  = 0 
      AND ADI LIKE '%' + ISNULL(@Adi, ADI) + '%' 
      AND SOYADI LIKE '%' + ISNULL(@Soyadi, SOYADI) + '%' 
      AND CASE 
             WHEN @BasvuruTarihi = 'Hepsi' 
                THEN KAYITTARIHI  
             WHEN @BasvuruTarihi = 'Last 1 week' 
                THEN DATEDIFF(day, KAYITTARIHI, GETDATE()) < 8 
             WHEN @BasvuruTarihi = 'Last 1 month' 
                THEN DATEDIFF(day, KAYITTARIHI, GETDATE()) < 31  
             WHEN @BasvuruTarihi = 'Last 6 month' 
                THEN DATEDIFF(day, KAYITTARIHI, GETDATE()) < 180 
             ELSE @BasvuruTarihi 
          END = KAYITTARIHI
但我有以下错误:


“附近的语法不正确这是一个完全盲目的猜测,但我猜这是你真正想要的东西。由于领先的通配符,这仍然不会有效果,但是,我至少已经尽可能多地做到了这一点。我还添加了选项重新编译,以使数据引擎有最好的机会使用q与查询相关的查询计划

选择ID\U CV 来自dbo.CV 其中Kulanicilar_CV_SILMEDURUMU=0 与ADI类似的N“%”+@ADI+N“%”或@ADI为空 与SOYADI类似的N“%”+@SOYADI+N“%”或@SOYADI为NULL 和@BasvuruTarihi=N'Hepsi' 或者@BasvuruTarihi=N'Last 1 week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-7,GETDATE 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-30,GETDATE-这不是一个月 或者@BasvuruTarihi=N'Last 1week'和KAYITTARIHI>=CONVERTdate,DATEADDDAY,-180,GETDATE-这不是6个月 选项重新编译;
适当地使用换行符和空白将使SQL更易于阅读和调试ISNULL@Adi,ADI+“%”将远远无法执行。您将日期时间比较作为大小写表达式的一部分,这是非法的。大小写表达式只能eturn一个值。根据这些比较应该做什么,您还可能从不同的分支获得完全不同的返回值,这也是非法的。那么DATEDIFFday、KAYITTARIHI、GetDateCase表达式返回标量值的原因是什么呢?看看您的吧;您有两个子句返回标量值,而另外3个子句返回标量值n一个布尔结果,然后将这些值与KAYITTARIHI进行比较,这没有任何意义。同样,一些格式会很快向您演示这个问题。