LightDB支持month作为列别名

背景

目前,lightdb 在兼容 oracle,目标是 oracle 用户不用修改 sql 代码无缝切换到 lightdb 数据库。oracle中支持month作为列名(是bare label,而不是as label),例如如下sql可在oracle中正常执行,而原生pg并不能支持,因此在23.4版本中,支持month作为barelabel类型的列名:

SQL> select 1 month from dual;

     MONTH
----------
         1

SQL> select interval '3' month from dual;

INTERVAL'3'MONTH
-------------------------------------------------------------------------------
+00-03

SQL> select interval '3' month month from dual;

MONTH
-------------------------------------------------------------------------------
+00-03

使用案例

select 1 month;
select 'abc' month;
select to_date('20231117','yyyymmdd') month;
select to_date('20231117','yyyymmdd') - to_date('20231113','yyyymmdd') month;
select interval 3;
select interval '3';
select interval 3 month;
select interval 3 month month;
select interval '3' month;
select interval '3' month month;

CREATE OR REPLACE FORCE EDITIONABLE VIEW VBASE_ORGFINANCEINFO("COMPANY_ID", "MONTH", "LAST_MONTH_NET_VALUE", "LAST_QAUARTER_TOTAL_ASSET") AS
SELECT
9999 company_id,
0 month ,
0 last_month_net_value,
0 last_qauarter_total_asset
FROM
DUAL WHERE 1=2;
drop view VBASE_ORGFINANCEINFO;
select month from (select * from (select * from (select 1 month)));
select month from (select * from (select * from (select 1 month) month));
select month from (select * from (select * from (select 1 month) month) month) month;
select cast(12222 as int) month;
select 1+1  month;
create or replace function func99(a int) return int is
begin
raise notice '666'; return 5; 
end;
/
select func99(1111) as month;
select func99(1111) month;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值