使用变量作为列名

里奥·德马斯

我的问题是如何在select语句中使用变量作为列名。我已将变量@B创建为BGNDATE1至BGNDATE12的列名。我没有创建12个select语句,而是创建了while循环。列名称基本上是BGNDATE +递增的整数。

我得到的错误是:

将varchar值'BGNDATE1'转换为数据类型int时,转换失败。

USE X --this is the database    
DECLARE @DATES TABLE (ROWID INT, FISCDATES INT)

    DECLARE @FY INT =  2012
    DECLARE @I INT
    DECLARE @IV VARCHAR(2)
    DECLARE @B VARCHAR(9)

    SELECT @FY AS FY
    SET @I = 1
    WHILE @I <= 12
    BEGIN
    SET @IV = @I
    SET @B = 'BGNDATE' + @IV

    INSERT INTO @DATES (ROWID)
    SELECT @I

    MERGE INTO @DATES AS T
    USING (

-这是关于变量@B的错误所在

SELECT @B AS FISCDATES FROM DBO.Y  -- Y is the table in the database
  WHERE FSCYEAR = @FY) AS S
ON T.ROWID = @I
WHEN MATCHED 
    THEN UPDATE
    SET T.FISCDATES = S.FISCDATES;

SET @I = @I + 1
END

SELECT * FROM @DATES
古法

您不能将变量用作列名(除非您动态创建整个查询),但是可以使用变量从不同的列中进行选择:

...
SELECT
  CASE @IV
    WHEN 1 THEN BGNDATE1
    WHEN 2 THEN BGNDATE2
    WHEN 3 THEN BGNDATE3
    WHEN 4 THEN BGNDATE4
    WHEN 5 THEN BGNDATE5
    WHEN 6 THEN BGNDATE6
    WHEN 7 THEN BGNDATE7
    WHEN 8 THEN BGNDATE8
    WHEN 9 THEN BGNDATE9
    WHEN 10 THEN BGNDATE10
    WHEN 11 THEN BGNDATE11
    WHEN 12 THEN BGNDATE12
  END AS FISCDATES FROM DBO.Y
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫使用变量作为列名

来自分类Dev

如何使用列名作为变量?

来自分类Dev

在Rails中使用变量作为列名

来自分类Dev

使用变量名作为列名

来自分类Dev

在 sql 查询中使用变量作为列名

来自分类Dev

使用变量作为 HAVING SUM(@variable) 中使用的列名

来自分类Dev

在R中使用变量作为列名拟合glm

来自分类Dev

Linq在选择新语句中使用变量作为列名

来自分类Dev

Linq在选择新语句中使用变量作为列名

来自分类Dev

在SQL的where子句中使用变量作为列名

来自分类Dev

列名与使用 SELECT 变量作为 INSERT 值的表不匹配

来自分类Dev

melt() 使用所有列名作为 id 变量

来自分类Dev

SQL Server以变量作为列名

来自分类Dev

使用全局变量作为列名时使用data.table更新列

来自分类Dev

C#Linq列名作为变量

来自分类Dev

变量作为数据框中的列名

来自分类Dev

列名在PL / SQL ORACLE中作为变量

来自分类Dev

列名在typeorm querybuilder中作为变量

来自分类Dev

使用列值作为列名

来自分类Dev

如何使用列名称作为变量基于null / not null过滤数据帧?

来自分类Dev

在R中使用一个变量作为列名并使用另一个变量作为值源进行转换

来自分类Dev

使用TEdit作为变量?

来自分类Dev

使用变量作为类型

来自分类Dev

使用ToString作为变量

来自分类Dev

使用$ _POST作为变量

来自分类Dev

使用变量作为参数

来自分类Dev

使用类作为变量

来自分类Dev

如何使用另一个表中的记录作为列名来创建SQL表变量

来自分类Dev

使用特定行的值作为列名