簡體   English   中英

SQL Server - 必須聲明標量變量

[英]SQL Server - Must declare the scalar variable

我正在嘗試聲明這些值並使用執行它們來獲取表中屬性的特定值。 但是,每次我嘗試設置 @test 和 @columnPeriod 時,它都會給我錯誤必須聲明標量變量“@test”必須聲明標量變量“@columnPeriod”

DECLARE @columnPeriod VARCHAR(MAX), @test INT;
SET @test = 2015;
SET @columnPeriod = 'SELECT Period FROM Courses WHERE year = ' + @test + '';

你不能組合字符串和 INT

試試

SET @columnPeriod = 'SELECT Period FROM Courses WHERE year = ' + CONVERT(VARCHAR(12),@test) + ' Limit 1';

這也將限制您的選擇以確保它是標量

DECLARE @columnPeriod INT, @test varchar(4);
SET @test = '2015';
SET @columnPeriod = SELECT distinct Period FROM Courses WHERE year = ' + @test + '';

假設是:

  • 期間只有 2015 年的一條記錄,如果您有多個但所有相同的“期間”,則可能需要不同。 如果您有多個,則無法執行此操作,因為返回的記錄集有多於一行...
  • 年份是 varchar 數據類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM