轉(zhuǎn)眼就是圣誕的節(jié)日,祝大家節(jié)日快樂。用 GaussDB T (也就是 GaussDB 100)繪制一棵圣誕樹,純國產(chǎn),更喜慶。

話不多說,上圖:

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 中執(zhí)行效果如下:

總結(jié)一下,在使用了非常特殊的查詢語法后,GaussDB 工作的非常愉快:
Case When;
LAG 分析函數(shù);
CONNECT by;
當然,楊長老說了,我這棵圣誕樹不太好看,他根據(jù)公司的祝賀圖重新畫了一個,楊長老說圣誕樹應(yīng)該是這樣的:

再來圖:

上代碼:
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;
祝大家圣誕快樂,萬事如意,平平安安!
分享文章:圣誕快樂:用GaussDBT繪制一顆圣誕樹,兼論高斯數(shù)據(jù)庫語法兼容-創(chuàng)新互聯(lián)
文章分享:http://chinadenli.net/article44/hhghe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制網(wǎng)站、微信小程序、網(wǎng)站營銷、微信公眾號、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容