我正在尝试根据case语句的结果更改列名,这是可能的,我该怎么做...这是我到目前为止所做的但是我还不够好。 / p>
如果数据是数字,我想要将VALUE的列名更改为NUMVALUE,如果数据不是数字,则希望更改为ALNVALUE。基本上使三列数据表成为四列数据表。这可能吗?
CASE WHEN ISNUMERIC([Value])=1 THEN SELECT [VALUE] AS [NUMVALUE] ELSE SELECT [VALUE] AS [ALNVALUE] END
答案 0 :(得分:0)
不,这是不可能的。
考虑尝试使用结果集时遇到的问题。每当您尝试访问数据时,您都会收到一个例外情况,指出无法找到该列或类似的。
Dim data = Results["ColumnName"]
会变得不可靠。
您需要为每个列创建一个单独的列,或者将它们全部放在同一个名称下。
答案 1 :(得分:-1)
您需要两个CASE =两列:
SELECT
CASE WHEN ISNUMERIC([Value])= 1 THEN [VALUE] END AS [NUMVALUE],
CASE WHEN ISNUMERIC([Value])<>1 THEN [VALUE] END AS [ALNVALUE],
...
FROM myTable