| 自動編號 |
AutoNumber (長整數/複寫 ID) |
INT IDENTITY(1,1) / UNIQUEIDENTIFIER ROWGUIDCOL |
建表腳本明確加上 IDENTITY;匯入後用 DBCC CHECKIDENT 重置種子 |
| 日期型別 |
Date/Time (雙精度浮點,範圍 #100/1/1#~#9999/12/31#) |
SMALLDATETIME (1900-2079) / DATETIME (1753-9999) / DATETIME2 (0001-9999) |
統一用 DATETIME 或 DATETIME2,避免 SMALLDATETIME 範圍不足導致匯入失敗 |
| 刪除語法 |
DELETE * FROM table WHERE ... |
DELETE FROM table WHERE ... (無星號) |
批次搜尋替換 DELETE * FROM → DELETE FROM |
| 日期函數 |
Date(), Time(), Now(), DateAdd(), DateDiff() |
GETDATE(), SYSDATETIME(), DATEADD(), DATEDIFF(), CAST/CONVERT |
建立對照表:Date() → CAST(GETDATE() AS DATE)、Now() → GETDATE() |
| VB/VBA 函數 |
可直接在 SQL 中用 CStr(), Format(), IIf(), InStr() |
不支援;對應 CAST/CONVERT, FORMAT() (2012+), CASE/IIF() (2012+), CHARINDEX() |
重寫為標準 T-SQL;複雜邏輯封裝為 UDF |
| 萬用字元 |
* (多字元), ? (單字元), # (數字) |
% (多字元), _ (單字元), [0-9] (範圍) |
LIKE 模式全域替換:* → %, ? → _ |
| 參數查詢 |
PARAMETERS p Text; SELECT * FROM t WHERE f = [p] |
CREATE PROC ... @p NVARCHAR(50) AS SELECT * FROM t WHERE f = @p |
改寫為預存程序/參數化查詢 |
| 外部聯接 |
LEFT JOIN, RIGHT JOIN (舊版 *=, =*) |
LEFT/RIGHT/FULL OUTER JOIN (ANSI-92 模式) |
確認資料庫相容性層級 ≥ 90 |