首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Access 遷移 SQL Server 完整指南:結構、函數與語法差異

     編輯:關於SqlServer

遷移前準備

使用 SQL Server 匯入精靈將 Access 資料匯入後,必須手動修正結構與程式碼,以下為關鍵差異清單。

資料結構調整

  • 自動編號:匯入後不會自動設為 Identity,需在建表腳本加入 IDENTITY(1,1)。
  • 數值型別長度:所有數值欄位需指定精度,建議改用 DECIMAL。
  • 預設值遺失:數字與日期欄位的預設值會遺失,需逐一補上 DEFAULT 約束。
  • 日期型別:Access 的 DateTime 匯入預設為 SMALLDATETIME,範圍較小,建議改為 DATETIME。
  • 備註/長文字:使用 CAST(欄位 AS VARCHAR) 處理。

函數與語法對照表

AccessSQL Server
Now(), Date(), Time()GETDATE()
DateDiff('d', d1, d2)DATEDIFF(day, d1, d2)
True/False1/0 (BIT)
IsNull(欄位)欄位 IS NULL
DELETE * FROM tableDELETE FROM table
VB 函數 (如 CStr())不可用,改用 CAST/CONVERT

應用程式修改重點

  1. 將 SQL 陳述式中的 Access 函數替換為 T-SQL 對應函數。
  2. 檢查 DateDiff 第一個參數:Access 用字串 'd',SQL Server 用 day 或 dd。
  3. Recordset 開啟參數 CursorType 需設為 1 (adOpenKeyset),否則記錄可能不完整。

最佳實務建議

  • 程式碼中盡量使用 ANSI SQL 標準語法,減少資料庫相依性。
  • 避免在 SQL 內使用資料庫專屬函數,改在應用層運算。
  • 若不可避免,務必加上明顯註解標記,利於未來遷移。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved