千家信息网

圣诞快乐: 用 GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,转眼就是圣诞的节日,祝大家节日快乐。用 GaussDB T (也就是 GaussDB 100)绘制一棵圣诞树,纯国产,更喜庆。话不多说,上图:SQL如下:SELECTCASE WHEN ENMOTEC
千家信息网最后更新 2025年11月08日圣诞快乐: 用 GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容

转眼就是圣诞的节日,祝大家节日快乐。用 GaussDB T (也就是 GaussDB 100)绘制一棵圣诞树,纯国产,更喜庆。

话不多说,上图:

SQL如下:

SELECT

CASE WHEN ENMOTECH = 1 THEN lpad('*',

GAO,

' ')

ELSE lpad(' ',

GAO + 1-ENMOTECH,

' ') || rpad('*',

lag(ENMOTECH) OVER (PARTITION BY 1

ORDER BY

ENMOTECH) + ENMOTECH -2,

'*')

END "圣诞快乐!"

FROM

(SELECT

LEVEL ENMOTECH ,

MAX(LEVEL) OVER (PARTITION BY 1) GAO

FROM dual

CONNECT BY LEVEL < 19 )

UNION ALL

SELECT

lpad(lpad('*',3,'*'),19)

FROM dual

CONNECT BY LEVEL < 5;

主要,这段 SQL 代码,和 Oracle 完全兼容,在 Oracle 中执行效果如下:

总结一下,在使用了非常特殊的查询语法后,GaussDB 工作的非常愉快:

Case When;

LAG 分析函数;

CONNECT by;

当然,杨长老说了,我这棵圣诞树不太好看,他根据公司的祝贺图重新画了一个,杨长老说圣诞树应该是这样的:

再来图:

上代码:

WITH leaf AS (

SELECT

lpad(rpad('*',

(ROWNUM-1)* 2 + 1,

'*'),

ROWNUM + 20) leaf,

ROWNUM

FROM

dual

CONNECT BY

LEVEL <= 3),

lv AS (

SELECT

ROWNUM lv

FROM

dual

CONNECT BY

LEVEL <= 5),

leafs AS (

SELECT

lpad(rpad('*',

(ROWNUM-1)* 2 + 1 +(lv-1)* 2,

'*'),

ROWNUM + 20 + lv) leaf

FROM

leaf,

lv),

root AS (

SELECT

lpad(rpad('*',

5,

'*'),

24)

FROM

dual

CONNECT BY

LEVEL <= 4)

SELECT

leaf

FROM

leafs

UNION ALL

SELECT

*

FROM

root;

祝大家圣诞快乐,万事如意,平平安安!

快乐 圣诞树 圣诞快乐 节日 长老 语法 好看 愉快 特殊 万事 万事如意 上代 上图 也就是 代码 公司 函数 国产 就是 效果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 佰威网络技术有限公司 成都订单管理软件开发 长春市网络安全和信息化委员会工作会议 一般的服务器是不是用c语言 宁都软件开发技术 学习软件开发适合什么处理器 宝塔数据库端口怎么设置 海南软件开发市场 数据库物理文件名怎么改 惠普服务器序列号能查到哪些信息 普陀区互联网教育科技服务保障 数据库原理与技术 微盘 网络安全法 直接责任人员 网络安全守则八字 广州浠津网络技术 软件开发技术支持及售后服务 网络安全主题海报儿童 什么是发布服务器 网络安全运营工程师是干嘛的 系统服务器记录操作ip吗 高中生可以从事软件开发吗 网络安全毕业论文300字 沧州医院网络安全保险 广达服务器电源很难配 某项目数据库管理系统研制 耐用的软件开发外包 网络安全主题海报儿童 oa数据库 web前端开发和网络安全哪个好 三大中文数据库体会
0