按字段名从 Firebird 游标中获取值
Get value from Firebird cursor by field name
我需要通过字段名从游标中获取数据,存储在 var 中。例如,我有语句:
for select CUBE1, CUBE2, CUBE3, ....., CUBE31
from GET_DATA(......) B
where ..... as cursor cvol do
现在我需要通过动态更改的名称从游标中获取值
s = 'cube' || extract(day from on_date);
vol = cvol.:s --????
我正在使用 Firebird 3。
无法通过名称动态获取列。您要使用的名称必须在编译时已知。您可以做的最好的事情是使用 simple case:
根据月份中的日期按名称获取值
vol = case extract(day from on_date)
when 1 then cvol.cube1
when 2 then cvol.cube2
-- .. and so on
when 31 then cvol.cube31
end
我需要通过字段名从游标中获取数据,存储在 var 中。例如,我有语句:
for select CUBE1, CUBE2, CUBE3, ....., CUBE31
from GET_DATA(......) B
where ..... as cursor cvol do
现在我需要通过动态更改的名称从游标中获取值
s = 'cube' || extract(day from on_date);
vol = cvol.:s --????
我正在使用 Firebird 3。
无法通过名称动态获取列。您要使用的名称必须在编译时已知。您可以做的最好的事情是使用 simple case:
根据月份中的日期按名称获取值vol = case extract(day from on_date)
when 1 then cvol.cube1
when 2 then cvol.cube2
-- .. and so on
when 31 then cvol.cube31
end