Teradata工作用用到的實用函式

2021-10-23 12:04:28 字數 3733 閱讀 6646

查詢表

select * from dbc.tablesv where tablename like '%fin_gl_detail%'
大小比較無法現在select 後面,只能寫在where 後面

根據資料直接建立表

create table ***( 

select 

***) with data

如果是with no data的話則是建立同樣的表結構的表而已

年月日時分秒標準化成日期

cast('2019/9/22 09:27:35' as date format 'yyyymmdd')

其中的『2019/9/22 09:27:35』是td中顯示的時間,但是在資料庫中,實際上儲存的都是時間戳

to_date('20200901','yyyymmdd')
字串中含有某字元

index(:i_prov_cd     ,prov_cd    ) > 0

to_date/date:                          將string型別的時間變成date型別。同樣的還有date

select to_date('20200819','yyyymmdd')

select date '2020-06-01'    (這種一定是帶橫槓 - 的日期這樣的)

to_char:                                 資料型別變成char型別

to_char(current_date,'yyyymm') 

to_char(crt_dttm,'yyyy-mm-dd hh24:mm:ss')
將date資料轉化成char型別,取出日期中的day

to_char(to_date('20190505','yyyymmdd'),'dd');

td_month_begin:                     返回date型別資料的月初  月末

td_month_begin(to_date('20200819','yyyymmdd'))

td_month_end

current_timestamp(0) :    當前時間,相當於now()

current_date:                     當前日期

left(acct_book_nm,6) :         取出前6位位元組,漢字的話三個字

zeroifnull(字段):                空的變成0

coalesce(exp1,exp2,exp3....):遇到非null返回

extract(day from ...) :抽取出來日期資料中的天數。當然也可以抽取月,年

select extract(day from (date '2019-05-05'));

字串定位index:

select index('abc', 'b');  返回結果2 

字串替換函式oreplace

select oreplace('2019-05-05','0','6');

最小值函式least

select least(6,7,8)

某日上個月天數

extract(day from td_month_begin(to_date(:i_start_dt,'yyyymmdd')) -1)

減去乙個月(date型別才能減去時間)

select cast(substr('202007',1,4)||'0101' as date format 'yyyymmdd') - interval '1' month

本月天數

extract(day from td_month_end  (to_date(:i_start_dt,'yyyymmdd'))) 

時間差異(月):

select (date '2003-08-15' - date '2003-01-01') month;

時間大小比較(或者寫在case when)

select to_date('20200505','yyyymmdd')

where to_date('20200506','yyyymmdd') >to_date('20200505','yyyymmdd')

a.ctr_depart_dt  between add_months(cast(substr('20200726',1,6)||'01' as date format 'yyyymmdd'),-1)

and last_day(cast('20200726' as date format 'yyyymmdd'))

not like all && not like any

'my name is inigo montoya, you killed mhy father, prepare to die!'  as str

,case when str like any ('%inigo%','%donald%' ,'%hillary%') then 1 else 0 end -- 1

,case when str like any ('%adam%' ,'%donald%' ,'%hillary%') then 1 else 0 end -- 0

,case when str like all ('%inigo%','%montoya%','%father%') then 1 else 0 end -- 1

,case when str like all ('%inigo%','%montoya%','%mother%') then 1 else 0 end -- 0

,case when str not like any ('%inigo%','%montoya%','%mother%') then 1 else 0 end -- 1 任意有乙個就行

,case when str not like any ('%inigo%','%montoya%','%father%') then 1 else 0 end -- 0 所有在裡面就不行

,case when str not like all ('%adam%' ,'%donald%' ,'%hillary%') then 1 else 0 end -- 1 所有都不在裡面才行

,case when str not like all ('%inigo%','%donald%' ,'%hillary%') then 1 else 0 end -- 0 任意乙個在裡面就報錯

cookie的作用,用途

cookies是一種能夠讓 伺服器把少量資料儲存到客戶端的硬碟或記憶體,或是從客戶端的硬碟讀取資料的一種技術。cookies是當你瀏覽某 時,由web伺服器置於你硬碟上的乙個非常小的文字檔案,它可以記錄你的使用者id 密碼 瀏覽過的網頁 停留的時間等資訊。當你再次來到該 時,通過讀取cookies,...

guava Objects的常用用法以及實現

objects主要用來重寫tostring和hashcode方法。裡面還有乙個方法firstnonnull t,t 返回兩個值中不為null的乙個如果都位null.丟擲空指標異常。上 看用法 import com.google.common.base.objects public class obj...

工作中用到的命令

svn checkout username password 點評 1 將檔案checkout到本地目錄 svn checkout path path是伺服器上的目錄 例如 svn checkout svn 簡寫 svn co 2 往版本庫中新增新的檔案 svn add file 例如 svn ad...