数据库语法_圣诞快乐:用GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容...
生活随笔
收集整理的這篇文章主要介紹了
数据库语法_圣诞快乐:用GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉眼就是圣誕的節日,祝大家節日快樂。用 GaussDB T (也就是 GaussDB 100)繪制一棵圣誕樹,純國產,更喜慶。
話不多說,上圖:
SQL如下:
SELECTCASE WHEN ENMOTECH = 1 THEN lpad('*',GAO,' ')ELSE lpad(' ',GAO + 1-ENMOTECH,' ') || rpad('*',lag(ENMOTECH) OVER (PARTITION BY 1ORDER BYENMOTECH) + ENMOTECH -2,'*')END "圣誕快樂!"FROM(SELECTLEVEL ENMOTECH ,MAX(LEVEL) OVER (PARTITION BY 1) GAOFROM dualCONNECT BY LEVEL < 19 )UNION ALLSELECTlpad(lpad('*',3,'*'),19)FROM dualCONNECT BY LEVEL < 5;主要,這段 SQL 代碼,和 Oracle 完全兼容,在 Oracle 中執行效果如下:
總結一下,在使用了非常特殊的查詢語法后,GaussDB 工作的非常愉快:
Case When;LAG 分析函數;CONNECT by;當然,楊長老說了,我這棵圣誕樹不太好看,他根據公司的祝賀圖重新畫了一個,楊長老說圣誕樹應該是這樣的:
再來圖:
上代碼:
WITH leaf AS (SELECTlpad(rpad('*',(ROWNUM-1)* 2 + 1,'*'),ROWNUM + 20) leaf,ROWNUMFROMdualCONNECT BYLEVEL <= 3),lv AS (SELECTROWNUM lvFROMdualCONNECT BYLEVEL <= 5),leafs AS (SELECTlpad(rpad('*',(ROWNUM-1)* 2 + 1 +(lv-1)* 2,'*'),ROWNUM + 20 + lv) leafFROMleaf,lv),root AS (SELECTlpad(rpad('*',5,'*'),24)FROMdualCONNECT BYLEVEL <= 4)SELECTleafFROMleafsUNION ALLSELECT*FROMroot;祝大家圣誕快樂,萬事如意,平平安安!
總結
以上是生活随笔為你收集整理的数据库语法_圣诞快乐:用GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python struct模块_pyth
- 下一篇: python 模糊匹配文件名 glob_