国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Polardb運算符優(yōu)化應用案例

IT那活兒 / 3153人閱讀
Polardb運算符優(yōu)化應用案例
[
應用報錯
]


org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback;

badSQL grammar [SELECT TO_CHAR(TRUNC(SYSDATE,dd)-TRUNC(op_time,dd))overday FROM tb_xxx_xxxx WHERE caseno=? ];

nestedexception is com.aliyun.polardb.util.PSQLException:

ERROR:function to_char(interval) does not exist

Hint:No function matches the given name and argument types. You might needto add explicit type casts.


--直連檢查sql報錯問題

polardb執(zhí)行


oracle執(zhí)行


報錯信息需要類型轉(zhuǎn)換,那就轉(zhuǎn)換一下

告知開發(fā)側(cè)看能否更改代碼解決。


過了一會,開發(fā)發(fā)來截圖,一個模塊就有400多,工作量太大,影響進度,看來還得換其他辦法。

[
解決思路
]


先看看查詢實現(xiàn)原理:


1.trunc后返回類型是timestampwithout time zone


2.兩個相減返回值interval類型


3.查看to_char輸入和輸出返回類型


通過上面3步可以明確知道之前修改新加DD實現(xiàn)的邏輯,但是應用側(cè)整改工作量太大,不現(xiàn)實。


既然第3步工作量大,實現(xiàn)不了,那就在第1步或第2步上做做文章。


[
解決步驟
]


嘗試修理第2步:

減號-的左右都是timestampwithout time zone,返回值類型就是interval


到這就明了了,自己定義一個函數(shù)timestamp_mi,讓他返回值不是interval,而是text就ok啦。



下面開始解決問題:


1.日期格式相減功能實現(xiàn)的sql

SELECT(date_part(epoch,sysdate)-date_part(epoch,sysdate-10))/86400,pg_typeof(date_part(epoch,sysdate)-date_part(epoch,sysdate-10)/86400);


2.創(chuàng)建上面實現(xiàn)功能的sql對應的函數(shù)

語法如下:


createor replace function ywjhxt.timestamp_mi (timestamp without time zone,timestamp without time zone) returns double precision as $$

SELECT(date_part(epoch,$1)-date_part(epoch,$2))/86400;

$$language sql;


3.創(chuàng)建新的運算符實現(xiàn)邏輯

createoperator ywjhxt.-(leftarg=timestamp without timezone,rightarg=timestamp without timezone,procedure=ywjhxt.timestamp_mi);




4.檢驗是否實現(xiàn)功能


5.意外情況處理

奇了怪了,為啥沒生效。繼續(xù)分析,

查看操作符’-’信息:

selectoprname,oprleft::regtype,oprright::regtype,oprresult::regtype,oprcodefrom pg_operator where oprname=- andoprleft::regtype::text=timestamp without time zone andoprright::regtype::text=timestamp without time zone;  



原來有兩個timestampwithout time zone的值進行相減時,有兩個實現(xiàn)方式,為啥他選了第一個呢?


嘗試去官方文檔找答案,還真有。。。

再嘗試一下,發(fā)現(xiàn)得到了想要的結(jié)果,但是這不符合需要啊,還是要改動應用代碼。


繼續(xù)往下翻文檔,又有驚喜。

setsearch_path="$user", public,pg_catalog;



至此,問題徹底解決。本次分享到此結(jié)束,下次再見。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/130154.html

相關文章

  • 達摩院首席數(shù)據(jù)庫科學家李飛飛:云原生新戰(zhàn)場,我們?nèi)绾伟盐障葯C?

    摘要:李飛飛花名飛刀,阿里巴巴集團副總裁,高級研究員,達摩院首席數(shù)據(jù)庫科學家,阿里云智能事業(yè)群數(shù)據(jù)庫產(chǎn)品事業(yè)部負責人,杰出科學家。是阿里云的云原生數(shù)據(jù)庫,目前已有非常深厚的技術(shù)積累。 阿里妹導讀:云計算大潮來襲,傳統(tǒng)數(shù)據(jù)庫市場正面臨重新洗牌的情境,包括云數(shù)據(jù)庫在內(nèi)的一批新生力量崛起,動搖了傳統(tǒng)數(shù)據(jù)庫的壟斷地位,而由云廠商主導的云原生數(shù)據(jù)庫則將這種改變推向了高潮。 云時代的數(shù)據(jù)庫將面臨怎樣的...

    frolc 評論0 收藏0
  • 阿里云發(fā)布POLARDB,未來3年無自研數(shù)據(jù)庫的云計算玩家將被淘汰

    摘要:近日,阿里云正式對外發(fā)布了全新一代自研關系型數(shù)據(jù)庫。而他認為,在未來年內(nèi),沒有自研數(shù)據(jù)庫的云計算廠商將會被逐漸淘汰出局。 近日,阿里云正式對外發(fā)布了全新一代自研關系型數(shù)據(jù)庫POLARDB。值得注意的是,POLARDB并不是基于開源數(shù)據(jù)庫MySQL之上研發(fā)的分支,而且基于第三代分布式共享存儲架構(gòu),創(chuàng)新實現(xiàn)企業(yè)級OLTP與OLAP一體化數(shù)據(jù)庫系統(tǒng)整體設計。這意味著,在行業(yè)還在使用第一代,第二代架...

    FingerLiu 評論0 收藏0
  • 2021年8月國產(chǎn)數(shù)據(jù)庫大事記

    摘要:本文整理了年月國產(chǎn)數(shù)據(jù)庫大事件和重要產(chǎn)品發(fā)布消息。柏睿數(shù)據(jù)庫加速安全卡面向全球重磅發(fā)布。月日,在全球數(shù)字經(jīng)濟大會成果發(fā)布會上,中國移動北京分公司與國產(chǎn)數(shù)據(jù)庫領域新銳企業(yè)柏睿數(shù)據(jù)簽署戰(zhàn)略合作協(xié)議。本次大賽主要面向全國愛好數(shù)據(jù)庫的高校學生。 本文整理了2021年8月國產(chǎn)數(shù)據(jù)庫大事件和重要產(chǎn)品發(fā)布消息。目錄8月國產(chǎn)數(shù)據(jù)庫大事記TOP108月國產(chǎn)數(shù)據(jù)庫大事記時間線產(chǎn)品/版本發(fā)布兼容認證8月排行榜新增...

    Scorpion 評論0 收藏0
  • “云”的力量崛起,數(shù)據(jù)庫市場再起波瀾

    摘要:不過,云來了,以阿里云為代表的云服務商攜云原生數(shù)據(jù)庫發(fā)起了新一輪挑戰(zhàn)。實際上,阿里云數(shù)據(jù)庫技術(shù)也得到國際咨詢機構(gòu)的認可,在數(shù)據(jù)庫魔力象限中,阿里云成為國內(nèi)首個入選的科技公司。第三個是數(shù)據(jù)的安全隱私保護,這是阿里云數(shù)據(jù)庫一直不敢放松的。數(shù)據(jù)庫市場形成今天的格局已經(jīng)很久了,商業(yè)數(shù)據(jù)庫為王,這幾乎沒有變過。不過,云來了,以AWS、阿里云為代表的云服務商攜云原生數(shù)據(jù)庫發(fā)起了新一輪挑戰(zhàn)。與以往歷次的挑...

    _ipo 評論0 收藏0
  • 阿里云發(fā)布POLARDB,未來3年無自研數(shù)據(jù)庫的云計算玩家將被淘汰

    摘要:近日,阿里云正式對外發(fā)布了全新一代自研關系型數(shù)據(jù)庫。而他認為,在未來年內(nèi),沒有自研數(shù)據(jù)庫的云計算廠商將會被逐漸淘汰出局。 近日,阿里云正式對外發(fā)布了全新一代自研關系型數(shù)據(jù)庫POLARDB。值得注意的是,POLARDB并不是基于開源數(shù)據(jù)庫MySQL之上研發(fā)的分支,而且基于第三代分布式共享存儲架構(gòu),創(chuàng)新實現(xiàn)企業(yè)級...

    yexiaobai 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<