Oracle與MySQL的資料型別轉換總結

2021-08-08 17:15:37 字數 1922 閱讀 3500

mysql

oracle

bigint

number(19, 0)

bitraw

blob

blob, raw

char

char

date

date

datetime

date

decimal

float (24)

double

float (24)

double precision

float (24)

enum

varchar2

float

float

intnumber(10, 0)

integer

number(10, 0)

longblob

blob, raw

longtext

clob, raw

mediumblob

blob, raw

mediumint

number(7, 0)

mediumtext

clob, raw

numeric

number

real

float (24)

setvarchar2

smallint

number(5, 0)

text

varchar2, clob

time

date

timestamp

date

tinyblob

rawtinyint

number(3, 0)

tinytext

varchar2

varchar

varchar2, clob

year

number

(1) mysql中如何表示當前時間?

其實,表達方式還是蠻多的,彙總如下:

current_timestamp

current_timestamp()

now()

localtime

localtime()

localtimestamp

localtimestamp()

(2) 關於timestamp和datetime的比較

乙個完整的日期格式如下:yyyy-mm-dd hh:mm:ss[.fraction],它可分為兩部分:date部分和time部分,其中,date部分對應格式中的「yyyy-mm-dd」,time部分對應格式中的「hh:mm:ss[.fraction]」。對於date欄位來說,它只支援date部分,如果插入了time部分的內容,它會丟棄掉該部分的內容,並提示乙個warning。

timestamp和datetime的相同點:

1> 兩者都可用來表示yyyy-mm-dd hh:mm:ss[.fraction]型別的日期。

timestamp和datetime的不同點:

1> 兩者的儲存方式不一樣

對於timestamp,它把客戶端插入的時間從當前時區轉化為utc(世界標準時間)進行儲存。查詢時,將其又轉化為客戶端當前時區進行返回。

而對於datetime,不做任何改變,基本上是原樣輸入和輸出。

2> 兩者所能儲存的時間範圍不一樣

timestamp所能儲存的時間範圍為:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。

datetime所能儲存的時間範圍為:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。

總結:timestamp和datetime除了儲存範圍和儲存方式不一樣,沒有太大區別。當然,對於跨時區的業務,timestamp更為合適。

MySQL與Oracle資料型別轉換

mysql data type oracle data type bigint number 19,0 bitraw blob blob,raw char char date date datetime date decimal float 24 double float 24 double pre...

資料庫 Oracle與Mysql對比

oracle與mysql有什麼直觀的區別呢?區別一 oracle收費,mysql開源 使用者量最多 區別二 資料型別不同,資料型別大致類似,但具體上稍有區別 區別三 分頁方式不同,oracle實現分頁需要多層 3層 select巢狀,mysql使用limit offset,pagesize 區別四 ...

Oracle與MySQL的區別

一 併發性 oracle的併發性優於mysql的併發性,oracle使用行級鎖,資源鎖定的粒度較小 mysql使用的是表級鎖 二 一致性 oracle構造資料塊來實現讀一致性,mysql只支援read commited隔離級別,乙個session讀取資料時,其他session不能更改資料,只可以在表...