zoukankan      html  css  js  c++  java
  • 圣诞快乐: 用 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;
    
    

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

    另:想了解更多 GaussDB 数据库的知识与用法,欢迎关注墨天轮“GaussDB 专栏”(地址:https://www.modb.pro/db,点击左下角的“阅读原文”或者扫描下方二维码可直达),此外,墨天轮开放了很多数据库专栏,如 GaussDB、PolarDB、OceanBase、TDSQL、GoldenDB 等众多数据库专栏,欢迎关注学习!

    扩展阅读


    1. 2019,年度数据库舍 PostgreSQL 其谁?

    2. 2019,国产数据库元年开启新纪元

    3. 2019,遇见最好的 MySQL 数据库

    4. 史上最全:PostgreSQL DBA常用SQL查询语句

    5. 2019年12月数据库流行度排行:前三甲高位收官 数据库重获增长趋势

    6. 万字详解Oracle架构、原理、进程,学会世间再无复杂架构

    7. 1000行MySQL学习笔记,收藏版!

    8. 史上最全PostgreSQL体系结构

    数据和云

    ID:OraNews

    如有收获,请划至底部,点击“在看”,谢谢!

    资源下载

    关注公众号:数据和云(OraNews)回复关键字获取

    help,30万+下载的完整菜单栏

    2019DTCC,数据库大会PPT

    2018DTCC , 数据库大会PPT

    2018DTC,2018 DTC 大会 PPT

    ENMOBK《Oracle性能优化与诊断案例》

    DBALIFE,“DBA 的一天”海报

    DBA04,DBA 手记4 电子书

    122ARCH,Oracle 12.2体系结构图

    2018OOW,Oracle OpenWorld 资料

    产品推荐

    云和恩墨BethuneX  企业版,集监控、巡检、安全于一身,你的专属数据库实时监控和智能巡检平台,漂亮的不像实力派,你值得拥有!

    云和恩墨zData一体机现已发布超融合版本和精简版,支持各种简化场景部署,零数据丢失备份一体机ZDBM也已发布,欢迎关注。

    云和恩墨大讲堂 | 一个分享交流的地方

    长按,识别二维码,加入万人交流社群

    请备注:云和恩墨大讲堂

      点个“在看”  
     你的喜欢会被看到????

  • 相关阅读:
    可爱精灵宝贝 DP/爆搜
    那些年留的坑
    吃某种零食ing
    NOIP模拟测试13
    NOIP模拟测试12
    NOIP模拟测试11
    大佬 (数学)
    BZOJ3331 BZOJ2013 压力
    LOJ2586 APIO2018 选圆圈
    BZOJ3398 牡牛和牝牛
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13311850.html
Copyright © 2011-2022 走看看