八 SQL語法差異及解決方案 資料型別差異

2021-10-13 13:07:08 字數 1030 閱讀 1779

常見資料庫管理系統

商業化的有:oracle、mssqlserver、db2、sybasesqlserver、informix

開源的有:mysql、sqlite、******sql、berkely db、minosse、firebird、hsqldb等

這些資料庫產品的出現給了開發者更多的選擇餘地,如:

oracle或者db2:系統對安全性、穩定性以及售後技術支援要求非常高

mssqlserver:系統只執行在windows作業系統下

mysql:免費的

hsqldb等嵌入式資料庫系統:只是提供乙個方便資料訪問機制

各個資料庫管理系統支援的sql語法是存在一定差異的,在oracle下能夠成功執行的sql遷移到db2下可能就無法執行。

oracle中數值相關的型別有number

db2中數值相關的型別有decimal、numeric、real和double

mssqlserver中字元相關的型別有char、varchar、text、nchar、nvarchar和ntext

oracle中字元相關的型別有char、varchar2、nvarchar2、clob 和nclob

db2中字元相關的型別有character、varchar、long varchar、clob、graphic、vargraphic和long vargraphic

mysql 中日期時間相關的型別有date、time、datetime、timestamp和year

mssqlserver 中日期時間相關的型別有datetime、smalldatetime 和timestamp

在db2 中日期時間相關的型別有date、time 和timestamp

mysql、oracle和db2都支援blob型別,而在mssqlserver中支援image型別。

八 SQL語法差異及解決方案 運算子差異

在不同的資料庫系統中字串拼接的方式是不同的,下面的主流資料庫系統對字串拼接的支援 mysql 在mysql 中進行字串的拼接要使用concat函式,concat函式支援乙個或者多個引數。如 concat hello 1,world mysql 中還提供了另外乙個進行字串拼接的函式concat ws,...

八 SQL語法差異及解決方案 取得所有表

mysql中取得當前資料庫中所有表定義的sql語句下 showtables mssqlserver中的系統表sysobjects中記錄了當前系統中定義的物件,其中xtype欄位等於u的記錄為表定義,因此取得當前資料庫中所有表定義的sql語句如下 select name from sysobjects...

Sql 資料分頁解決方案

很多開始學習程式設計的朋友們在使用資料庫自定義分頁的時候,會遇到寫不好資料分頁儲存過程的問題。這裡我就自己的一點經驗和學習心得提供幾種資料庫內分頁的儲存過程和大家分享一下。1 使用top 1.1利用當前記錄號 currentnote 和分頁頁面大小 pagesize 進行分頁 create proc...