1. 程式人生 > >Teradata 中WITH RECURSIVE 應用的一個例項

Teradata 中WITH RECURSIVE 應用的一個例項

 需求:對一個位數固定使用分隔符連線的字串的拆分,如將記錄215|482|850|870拆分為215,482,850,870四條記錄
結果:WITH RECURSIVE 語句能夠實現此功能,測試如下:
CREATE TABLE dwsdata.gift_info (
gf_id varchar(50),
channels varchar(100)
);

select * from  dwsdata.gift_info;
gf_id              channels
10710701010201002 215|482|850|870

WITH RECURSIVE temp_table (gf_id,channels) AS
(
select
 gf_id
 ,trim(channels)
from dwsdata.gift_info
where channels<>''
union all
select 
 gf_id
 ,substr(channels,5 )
from  temp_table aa
where   char(aa.channels ) <>3
)
select
 TRIM(gf_id)
 ,SUBSTR(channels,1,3)
from   temp_table
;
結果:
gf_id             channels
10710701010201002 215
10710701010201002 482
10710701010201002 850
10710701010201002 870

相關推薦

Teradata WITH RECURSIVE 應用一個例項

 需求:對一個位數固定使用分隔符連線的字串的拆分,如將記錄215|482|850|870拆分為215,482,850,870四條記錄結果:WITH RECURSIVE 語句能夠實現此功能,測試如下: CREATE TABLE dwsdata.gift_info (gf_id

JAVA有關繼承的一個例項

在JAVA中,“extends”用來表示繼承,當建立一個類時,總是在繼承,除非已經明確指出要從其他類中繼承,否則都是隱式從JAVA中的標準根類Object中繼承,下面的一個程式示範了JAVA中的許多特

VS2010水晶報表應用例項

基本分類如下: 第一部分:VS2010簡介 VS2010是微軟的提供的一套完整的開發環境,功能也是相當的大 微軟宣佈了下一代開發工具和平臺的正式名稱,分別稱為“Visual Studio Team System 2010”和“.NET Framework 4.0”,很顯

Android Context理解/在一個應用程式有多少個context例項

在一個應用中程式中有多少個context例項? 什麼時候建立Context例項? 一、什麼是Context? 上下文環境、語境 官方文件綜述 Interface to global information about an application en

jQueryajax應用一個例項(前端+controller)

頁面的程式碼:if(filesArray.length>0) { $.ajax({ type: "post", url: "****/****/sendFiles", //data:JSON.stringify(f

dropzone拖動文件上傳在thinkphp5應用一個實例

php dropzone參考:Dropzone的使用方法點擊查看dropzone中文文檔後臺用的INSPINIA框架的模板,裏面有,dropzone.jsdropzone是一個可以拖文件上傳的js.拖進去,就上傳了。我在頁面上,寫了一個保存已經上傳的文件的image3,image4.這就需要改寫一下dropz

JavaScript有關原型鏈應用例項

JavaScript中原型鏈十分重要。 為方便直觀感受js中原型鏈的呼叫,舉例驗證。以下為程式碼: function Pet(name,age){ if(this instanceof Pet===true&&name&&age){ this.name=

一個例項講解rename命令正則表示式的使用

rename命令用字串替換的方式批量改變檔名。今天以一個例子來具體寫一下自己遇到的問題並且解決的例子。希望對大家有幫助。 格式如下: rename 原字串  目標字串  檔案(列表) 原字串:將檔名需要替換的字串;目標字串:將檔名中含有的原字元替換成目標字串;檔案:

電源設計的電容應用例項

電源往往是我們在電路設計過程中最容易忽略的環節。其實,作為一款優秀的設計,電源設計應當是很重要的,它很大程度影響了整個系統的效能和成本。   這裡,只介紹一下電路板電源設計中的電容使用情況。這往往又是電源設計中最容易被忽略的地方。很多人搞ARM,搞DSP,搞FPGA,乍一

SpringBoot 入門教程例項詳解(一) 開發第一個SpringBoot應用程式例項

構建你的第一個Spring Boot應用程式 更多精彩請閱讀 東陸之滇的csdn部落格:http://blog.csdn.net/zixiao217 此教程提供一個入門應用程式例子,來展示Spring Boot是如何幫助快速、敏捷開發新一代應用的。你還可以通

OpenStack部署應用第五篇:建立一個例項(轉)

  這部分建立必須的虛擬網路來支援建立多個例項。網路選項1包含一個使用公共虛擬網路(外部網路)的例項。網路選項2包含一個使用公共虛擬網路的例項、一個使用私有虛擬網路(私有網路)的例項。 1、建立虛擬網路 根據你在網路選項中的選擇來建立虛擬網路。如果你選擇選項1,只需建立一個公有網路。如果你選擇選項2,同時建

springMvcwebsokect的應用例項

1.需要用到的jar包 spring-websocket-4.0.5.RELEASE.jar 2.配置config檔案: spring-websocket.xml 內容: <beans xmlns="http://www.springframework.org/sch

Android 在一個應用如何啟動另外一個已安裝的應用

在自己的應用開發過程中,有可能需要在自己的應用中啟動其他應用,此時,如果應用對外公開了自己的啟動Intent方式,可以直接建立該Intent,然後通過startActivity(myIntent)。 這種方式相信都很熟悉。 如果不知道想要啟動的應用的Intent,也有

java一個例項化的過程

一個物件例項化過程: eg:Person person = new Person(); 1.JVM會讀取指定路徑下的Person.class檔案並載入進記憶體,如果 並會先載入Person的父類(如果

一個例項學習DTW演算法

歡迎轉載或分享,但請務必宣告文章出處。 (新浪微博:tornadomeet,歡迎交流!) DTW為(Dynamic Time Warping,動態時間歸準)的簡稱。應用很廣,主要是在模板匹配中,比如說用在孤立詞語音識別,計算機視覺中的行為識別,資訊檢索等中。可能大家學過這些類似的課程都看到過這個演算法,

MFC開發技巧——應用程式只能執行一個例項

在MFC程式的"CXXXXAPP"類中InitInstance()方法的開始寫上以下的程式碼:  HANDLE hMutex=::CreateMutex(NULL,TRUE,"Only One Instance");if(GetLastError()==ERROR_ALRE

stl 怎樣遍歷一個map的所有元素。請給是例項

兩 種方式iterator遍歷的次數是相同的,但在STL中效率不同,前++--返回引用,後++--返回一個臨時物件,因為iterator是類模板,使 用it++這種形式要返回一個無用的臨時物件,而it++是函式過載,所以編譯器無法對其進行優化,所以每遍歷一個元素,你就建立並銷燬了一個無用的臨

C#應用程式只允許執行一個例項,多次執行的時候啟用當前例項,顯示其介面

  很多時候,我們開發的程式,需要單例執行的的功能,即整個應用程式只允許同時執行最多一個例項,重複執行的時候,啟用當前實力,顯示其介面。   在C#程式中,其解決方案有多重,可以參照Charles Chen 的C#程式只允許執行一個例項的解決方案一文。   

VS2010水晶報表安裝應用例項

基本分類如下: 第一部分:VS2010簡介 VS2010是微軟的提供的一套完整的開發環境,功能也是相當的大 微軟宣佈了下一代開發工具和平臺的正式名稱,分別稱為“Visual Studio Team System 2010”和“.NET Framework 4.0”,很顯然二

Dictionary擴充套件方法的一個應用

  前段時間做了一個專案,碰到一個問題,從記錄的日誌來看,老是出現“The given key was not present in the dictionary.”大意就是key不在對應的Dictionary中,然後程式就掛掉了。但是一氣之下寫了無數個try catch,