當前位置:
首頁 > 知識 > 淺談Greenplum的Boolean類型與Text類型之間的轉換

淺談Greenplum的Boolean類型與Text類型之間的轉換

在Greenplum或者Deepgreen中,如果我們想直接把Boolean類型轉化為Text,那麼可能會讓你失望,因為他們不支持這種直接轉化,但是可以通過UDF的方式實現,下面來簡單看一下這個過程。

首先,當我們運行下面的SQL來轉換Boolean為Text類型時,會得到一個大寫測錯誤:-D

DECLARE qgis_4 BINARY CURSOR FOR SELECT st_asbinary("location","NDR"),ctid,"start_datetime"::text,"end_datetime"::text,"temperature"::text,"pressure"::text,boolout("rainfall")::text,"humidity"::text,"illuminance"::text,"uva"::text,"ubv"::text FROM "event"."weather_soratena" WHERE "location" && st_makeenvelope(136.92967584819169247,37.11712946054284856,137.3367917387353998,37.52424535108657011,4326) AND st_intersects(st_curvetoline("location"),st_makeenvelope(136.92967584819169247,37.11712946054284856,137.3367917387353998,37.52424535108657011,4326))

錯誤的原因是GP不支持將cstring轉換成其他的數據類型(如下代碼顯示)

gpadmin=# select boolout("1")::text;

這時候我們該怎麼辦?放棄嗎?當然不,我們可以通過UDF(User Defined Function)的方式來變通實現。這裡我們定義一個BooleanToText函數,用來實現轉換功能:

postgres=# CREATE FUNCTION BooleanToText(boolean) RETURNS text STRICT IMMUTABLE LANGUAGE PLPGSQL AS $$ BEGIN IF $1 IS TRUE THEN RETURN "true"; ELSE RETURN "false"; END IF; END; $$;

有朋友說,你開頭的錯誤還是不能解決啊!姑且別急,接著看 ↓

針對cstring無法轉換成text的問題,我們可以使用boolin函數先將cstring轉換為boolean類型,然後在進行text的轉換:

## 無法直接轉換演示

End~

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲棲社區 的精彩文章:

阿里人工智慧實驗室王剛:找到合適的應用場景是實現人工智慧商業化的關鍵點
簡易數據恢復方案實戰:流程和工具
高清大圖!淘寶造物節,「奇市江湖」里那些腦洞大開的創意產品
簡單入門循環神經網路RNN:時間序列數據的首選神經網路
阿里巴巴1582.73億背後的持續交付如何玩

TAG:雲棲社區 |

您可能感興趣

TypeScript基礎之高級類型的可辨識聯合(Discriminated Unions)
類型轉換運算符 運算符重載 operator new operator delete
python基礎之變數類型number(math模塊)
python中list,array,mat,tuple大小及類型
「Good idea/solution」 類型作文審題
Hibernate 映射枚舉Enum 類型的屬性
Google出品的Python代碼靜態類型分析器:Pytype
Chrome 66 新特性:CSS 類型對象模型,非同步剪貼板 API,AudioWorklet,等
opencv Mat類型和BYTE*指針類型互轉
「Python」Chapter1 變數和簡單數據類型
solidity之地址類型
SM、jyp、yg、cube、ymc等公司類型——其中big hit最霸氣
澳大利亞 Bunjil Place,高難度木曲線營造類型場所/fjmt
Swift 類型轉換
Facebook主頁成效分析:帖子有什麼作用?Facebook帖子類型&作用
Adobe Reader類型混淆導致代碼執行漏洞分析
由光環新網運營的 AWS 中國區域現已推出 Amazon RDS for Oracle 支持 X1 實例類型
Shopify賬號有哪些類型?Shopify賬號類型&賬號許可權
scala學習-泛型、界定、形變、this.type、複合類型、抽象類型
Pyright:微軟提供的Python靜態類型檢查器