在使用中mysql和oracle經常會有不同的地方困擾自己,特地一一總結避免以後再被迷惑。1、連線方式不一樣
①oracle的連線是url 、user、password,這裡user是指乙個連線下的乙個資料庫。 而mysql的 在url中就指明了連哪個庫,例如這裡的mysql
url
: jdbc:mysql://localhost:3306/mysql?allowmultiqueries=true&useunicode=true&characterencoding=utf-8&autoreconnect=true&usessl=false&servertimezone=utc
username
: root
password
:420188
2、時間方式不一樣②對傳入時間的比較。比如傳入開始時間和結束時間,mysql和oracle也都不一樣,主要是時間的轉換和時間的表示不一樣。
這是mysql:
<
if test=
"starttime != null and starttime !='' "
>
and<
![cdata[ ssw.recordtime >= date_format(
#,'%y-%m-%d %h:%m:%s')]]>
>
<
if test=
"endtime != null and endtime !='' "
>
and<
![cdata[ ssw.recordtime <= date_format(
#,'%y-%m-%d %h:%m:%s')]]>
>
這是oracle:
<
if test=
"starttime != null and starttime !='' "
>
and<
![cdata[ ssw.recordtime >= to_date(
#,'yyyy-mm-dd hh24:mi:ss')]]>
>
<
if test=
"endtime != null and endtime !='' "
>
and<
![cdata[ ssw.recordtime <=to_date(
#,'yyyy-mm-dd hh24:mi:ss')]]>
3、批量插入資料時,不一樣。
mysql的批量插入
insert
into sys_base_fileindex
( name,
filetypeid,
filepath,
businesstypeid,
uploadtime,
filesize
)values
"list" item=
"item"
index
="index" separator=
",">(#,
#,#,
#,#,#)
<
/foreach>
而oracle的批量插入:
<
insert id=
"batchinsert" parametertype=
"com.ali.modules.filemanagement.entity.etldataaccessfileio"
>
insert
into etl_data_access_fileio(name,file_size,upload_time,
status
)"afterdeallist" item=
"item"
index
="index" seperator=
"union all"
>
(select
#,#,
#,#
from dual)
<
/foreach>
<
/insert
>
插入資料的異同:4、模糊查詢不一樣:oracle的concat函式只能連線兩個引數1.oracle的資料插入每個欄位需指明型別,字串用:jdbctype=varchar,時間用:jdbctype=timestamp,數字用:jdbctype=decimal 而mysql可以不指定。
2、獲取集合中的值用select …………from dual (在標籤內)
3、欄位和值之間沒有values這個(單條插入是有values的)。
4、標籤中的separator的屬性值為union all將查詢合併結果。
mysql用法:
<
if test=
"name != null"
>
and badge_name like concat(
'%',
#,'%')
>
oracle的用法:
<
if test=
"name != null"
>
and badge_name like concat(concat(
'%',
#),'%')
>
⑤ 如果null就取0
mysql:
ifnull(null,0)
oracle:
nvl(null,0)⑥ 未完待續……
mysql中的text和oracle中的blob
又分為tinytext,text,mediumtext,longtext,都是表示資料長度型別的一種。tinytext 256 bytes text 65,535 bytes 64kb mediumtext 16,777,215 bytes 16mb longtext 4,294,967,295 b...
使用ORACLE和MYSQL的簡單區別
最近在在學習資料庫,用到了oracle 和mysql 其中oracle 我在過去的工作中稍有接觸,對於oracle 也只是剛摸到門路,而對於mysql 只是聽說他是乙個開源專案,基本上算是沒接觸過。這段時間二個資料庫一起使用,難免會出現操作中混亂,我在這裡大致歸納下我遇到最常見的問題。1.在orac...
Oracle和MSSQL中迴圈的使用
create or replace function setstate oldvalue varchar2,pos number,svalue varchar2 return varchar2 isreturn value varchar2 20 len number 8 i number 8 te...