日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少!

發布時間:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者 ?Iris ? (PG深度愛好者)

一、項目描述

前段時間剛完成一個應用ORACLE改造的項目,數據體量比較大,業務改造的周期計劃比較短,再加上自研分布式MYSQL對事務、存儲過程等限制,所以應用方放棄了改造分布式數據庫MYSQL的想法。很多研發人員對PG的了解不深,產生一個誤區,認為PG近乎等于ORACLE,并無多大改造體量。然后現實很快就被打臉了。現實就是,該做的改造工作一個都不能少,畢竟是異構數據庫,字段和語法的差異都是項目改造的基礎。

二、需求分析

為了完成Oracle到PG的改造工作,將改造的工作分為以下兩類:

  • 數據遷移:表、視圖、數據、序列、存過(及函數)、JOB定時任務等,按照需要遷移到Postgre中。

  • 程序改造:后臺所有的微服務工程,需要修改數據庫連接配置及所有Mybatis的SQL語句需要改造適應Postgre

三、改造說明

Oracle和Postgre數據庫的差異方面很多,現在列舉此項目改造中常用到的一些差異如下:

3.1 數據類型差異

Oracle

Postgre

Varchar2

Varchar

Date

Date/time/timestamp

Clob

Text

Blob

Bytea

Number

Smallint/integer/bigint/numeric/real/double precision

3.2 函數或語法差異

項目

Oracle

Postgre

字符串連接

||

||或者使用concat()

'A'||NULL

'A'

NULL

null和’’

沒區別

有區別

Trunc(時間)

Trunc(date)

Date_trunc(date)

當前系統時間

Sysdate

Now()或localtimestamp

TO_CHAR,TO_NUMBER,TO_DATE

自動格式轉換

需指定格式

空值轉換函數

NVL

COALESCE

轉義函數

DECODE

沒有,只能CASE WHEN 實現

Outer join

(+)

Left(righ) join

序列值獲取

SEQ_NAME.NEXTVAL(新值)

SEQ_NAME.CURRVAL(會話當前值)

NEXTVAL('SEQ_NAME') (新值)

CURRVAL('SEQ_NAME') (會話當前值)

虛表DUAL

DUAL

自建視圖dual

函數繼承或承載

不支持

支持

行號

ROWNUM

沒有,可以通過ROW_NUMBER() OVER ()代替

分頁查詢

ROWNUM BETWEEN 開始位置 AND 結束位置

LIMIT 數據量 OFFSET 開始位置

類型自動轉換

支持

不支持,需要顯示轉換,或者添加CAST,

子查詢別名

可以不需要

必須指定別名

遞歸查詢

start with … connect by…

with recusive

更新字段別名

更新字段可以使用表別名引用字段

更新字段時SET后面的字段不能出現別名

日期加減

天數直接用+-,月份用ADD_MONTHS(date,int)

+ INTERVAL '1 YEAR 1 MONTH -1 DAY'

別名

可以省略AS關鍵字

特殊關鍵字名字的別名必須加AS

查找字符串位置

INSTR('12345', '3')

POSITION('3' IN '12345')

數據記錄ID

Rowid

Ctid

3.3 應用程序改造

所有微服務都需要進行改造,需要數據庫連接修改及SQL配置文件的改造。

現有微服務工程如下:

工程

備注

config-client

config-server

eureka-server-1.5.2

fault-service

ggzs-service

對接公共助手

it.wisdom

jeesite.api

upedc-service

wisdom-api-app-menu

app菜單

wisdom-api-event

wisdom-api-gateway

網關

wisdom-auth-service

認證服務

wisdom-bo-service

wisdom-eareka-server

eareka服務

wisdom-interface

wisdom-order

wisdom-report

報表

wisdom-schedule

調度任務

wisdom-service

wisdom-storm-service

wisdom-web-assessment-service

員工評估等數據后臺數據查詢處理等

wisdom-web-bo-service

端到端數據查詢

wisdom-web-operator-service

wisdom-web-operator-sms-service

wisdom-web-operator-useranalysis-service

wisdom-web-sys-service

系統管理

wisdom-web-user-service

用戶管理

wisdom-web-vendor-assessment-service

wisdom-web-ws-service

對外提供WS接口

四、數據遷移

數據遷移工具用的是Ora2pg,數據遷移對象包含有323張表,32個序列,21個視圖,8個函數,43個存儲過程,以及16個JOB。具體的遷移過程略。可以參考Ora2pg官方幫助文檔:http://ora2pg.darold.net/documentation.html

遷移問題處理

1、BLOB==>bytea 讀出數據導出為文件時,不能直接做為BLOB數據類型導出需要改成:

2、NUMBER==>NUMERIC 通過mybatis寫入數據時,如果數據本身是VARCHAR,不能通過#{item.callfailnum,jdbcType=DECIMAL}轉為DECIMAL寫入數據,需要改成:#{item.callfailnum,jdbcType=VARCHAR}::DECIMAL

3、數據類型嚴格檢查,ORACLE中,數據類型可以自動進行轉換,而POSTGRE需要嚴格根據數據類型編寫SQL,如果字段XXX為NUMBER類型,在ORACLE中可以寫為XXX='3',而在POSTGRE中必須寫為XXX=3

4、navicat 11的版本過低,無法圖形化導出腳本。建議提供navicat 15的版本。當然最好是使用PGADMIN工具。

總結

以上是生活随笔為你收集整理的cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产乱码久久久久久免费 | 亚洲婷婷av| 91日韩欧美 | 欧美国产精品一区 | 国产嫩草在线观看 | 欧美一区二区三区成人片在线 | 国产欧美日韩在线观看 | 黄色一级片一级片 | 91网站在线免费看 | 久草香蕉在线 | 日韩伦理大全 | 久久久999精品| 日韩欧美日韩 | 国产成年视频 | 亚洲性视频在线 | 丰满人妻妇伦又伦精品国产 | 一区二区三区高清在线观看 | 国产女人在线视频 | 国产乱码精品一区二三赶尸艳谈 | 成人在线观看小视频 | 99热这里 | 亚洲熟女综合色一区二区三区 | 日本一级二级视频 | 嫩草研究院在线 | 亚洲最新av在线 | 日韩一区二区三区网站 | 91美女精品 | 青青青视频免费观看 | 不卡的毛片| 中文字幕在线视频一区 | 久久久久久久久久久网 | 大象传媒成人在线观看 | 国产视频黄色 | 成人免费毛片日本片视频 | 奇米影视999 | 给我看高清的视频在线观看 | 日本韩国欧美一区二区三区 | 日本高清在线观看 | 久久影院午夜 | 黄色va | 日韩av一| 五月婷婷丁香久久 | 成人亚洲一区二区 | 91在线免费播放 | 白丝女仆被免费网站 | 草久久av | 久久成人国产精品入口 | 五十路六十路 | 日本一级二级视频 | 成人高清视频在线观看 | 自慰无码一区二区三区 | 天天激情站 | 欧美成人69 | 黄色网www| 欧美日韩视频在线观看一区 | 97久久人人 | 狠狠91 | 视频免费观看在线 | 国产久精品 | 色香色香欲天天天影视综合网 | 成人熟女一区二区 | 黄瓜视频在线观看 | 精品一区二区久久久 | 天天摸夜夜添狠狠添婷婷 | aa成人 | 欧美精品免费在线 | 欧美精品国产一区二区 | 九色国产在线 | 欧美淫 | 二级毛片在线观看 | 性感美女一区 | 成人免费看片98 | 日本久久高清 | 色爱av | 少妇又色又爽又高潮极品 | 在线97| 伊人久久精品视频 | 一区视频 | 天天干干天天 | 人人草人| 人妻互换一区二区激情偷拍 | 欧洲日韩一区二区三区 | 射死你天天日 | 丰满熟妇人妻中文字幕 | 日本在线高清视频 | 亚洲熟妇色自偷自拍另类 | 中文字幕精品久久久久人妻红杏ⅰ | 国产精品视频在线观看免费 | 成人福利在线视频 | 中文字幕第十二页 | 玖玖精品| 国产精品久久久久久一区二区 | 老女人做爰全过程免费的视频 | 久久黄色视屏 | 日产国产亚洲精品系列 | 日韩avxxx | 精品少妇人妻AV无码专区在线 | 日韩av毛片 | 色婷婷狠狠 |