【问题标题】:Having a basic SQL issue using microsoft sql server 2012使用 microsoft sql server 2012 遇到基本 SQL 问题
【发布时间】:2014-03-19 07:05:12
【问题描述】:

我是 SQL 语句的新手,我猜这很明显,所以我提前为新手问题道歉。

代码如下:

use test;
declare @time_24_2 int;
declare @hours_diff_2 int;

SELECT 
    end_date_full 
FROM 
    example 
WHERE 
    datediff(hour, getdate(), end_date_full) < 24
GROUP BY 
    end_date_full

SET @time_24_2 = end_date_full;
select @time_24_2

这是我的代码,我只是想提取符合条件的每一行的 end_date_full 列。但是,每次我尝试使用列 end_date_full 时,如下所示,我都会收到一条错误消息,提示 Unknown column name

任何帮助都会很棒!

P.S end_date_full 是一个列名,它适用于第一个 select 语句,而不是 SET 语句。

【问题讨论】:

标签: sql sql-server sql-server-2012-express


【解决方案1】:

这是因为您在将列名分配给变量时试图在查询之外使用它。这应该可以解决问题:

SELECT @time_24_2 = end_date_full 
FROM example 
WHERE datediff(hour, getdate(), end_date_full) < 24
group by end_date_full

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多