sqlserver遷移mysql語法修改

2021-09-24 22:27:11 字數 2031 閱讀 5564

1.top 100  選取表中前100條

改為 limit #,limit 為變數

2.獲取當前日期getdate()

改為now()

3.id=#

改為id=#,不需要指定資料型別

4.sqlserver查詢需要nolock

而mysql不需要

5.字串拼接

sqlserver:select * from a where contract_no like '%'+'dsp'+'%' order by id desc

mysql:select * from a where contract_no like concat('%','dsp','%') order by id desc

單向拼接用

concat('_%',#)

concat('%',#,'%')

6.分頁查詢時

mysql不支援row_number() over,也不支援with cte1 as()語法

sqlserver:

with cte1 as

(select

,t2.parta_no,t2.parta_name,t1.parta_num

from a(nolock) t1, b(nolock) t2 where t1.id=t2.contract_info_id

and t2.id in(select min(id) from c(nolock)

and parta_name like '%'+#+'%'

and parta_no = #

group by contract_info_id )

) ,cte2 as(

select row_number() over (order by cte1.id desc) as rownumber,,parta_no,parta_name,parta_num from

cte1

)select ,parta_no,parta_name,parta_num

from

cte2 where rownumber between # and  #

order by cte2.id desc

mysql:

select

,t2.parta_no,t2.parta_name,t1.parta_num

from a t1, b t2 where t1.id=t2.contract_info_id

and t2.id in(select min(id) from c

and parta_name like concat(concat('%', #), '%')

and parta_no = #

group by contract_info_id )

order by t1.id desc

limit #,#

7.分頁查詢時注意 limit #,#取得startrow必須從0開始,可能在controller層要改變下起始頁碼,取決於引用的分頁法,也要注意查詢總數為0時,0-1=-1,起始頁面不可以為-1,要區分對待。

8.sqlserver isnull(t1.parta_num,0)轉化為mysql ifnull(t1.parta_num,0)

mysql ifnull函式是mysql控制流函式之一,它接受兩個引數,如果不是null,則返回第乙個引數。 否則,ifnull函式返回第二個引數。

兩個引數可以是文字值或表示式。

以下說明了ifnull函式的語法:

ifnull(expression_1,expression_2);

sql如果expression_1不為null,則ifnull函式返回expression_1; 否則返回expression_2的結果。

ifnull函式根據使用的上下文返回字串或數字。

如果要返回基於true或false條件的值,而不是null,則應使用if函式。

9.int 型別 sqlserver預設為0,而mysql預設為null。

10.多表關聯update區別

sqlserver:

mysql:

sqlserver例項遷移

sqlserver例項遷移.docx 資料庫例項中有大量資料庫,使用者名稱,及密碼或使用者名稱密碼丟失,不能強制修改 如公司.4伺服器資料庫遷移 檢視資料庫版本號 此方案暫只適用於同版本的sqlserver select version 備份系統庫master model msdb到新伺服器 net...

sqlserver 資料庫遷移

客戶環境是系統a的1.0版本,開發環境是系統a的2.0版本。2.0版本對於資料庫有部分變更 主要是新增表和字段,不涉及字段刪除和變更 這個時候需要在客戶環境安裝資料庫2.0 表結構 儲存過程都是用的2.0 但是資料要把1.0的同步過來。右擊2.0版本的資料庫,選擇 任務 生成指令碼 選擇要匯出的表 ...

遷移sqlserver資料到MongoDb

前言 隨著資料量的日積月累,資料庫總有一天會不堪重負的,除了通過新增索引 分庫分表,其實還可以考慮一下換個資料庫。我強烈推薦使用mongodb,我舉例說一下我的經歷 我的專案中有一張表的資料大概是3000萬行資料,sqlserver查詢的速度是16秒左右。我匯入到mongodb中後查詢的速度大概能快...