Visual Basic for Applications 與 SQL Server Transact-SQL 之間的函數比較 (ADP)
注釋 本主題中的資訊僅適用於 Microsoft Access 項目 (.adp)。
下表比較了 Microsoft Visual Basic for Applications (VBA) 和 Microsoft SQL Server Transact-SQL 中的常用函數。有關 Transact-SQL 純量涵式的詳細資料,請參閱 SQL Server 文檔。
注意 “升遷嚮導”將下列 VBA 函數(用於表有效性規則、欄位驗證和預設情況下)轉換為對等的 Transact-SQL 函數。
字串函數
VBA 函數 Transact-SQL
純量涵式
------------------------------------------------
Asc(x) ASCII(x)
Chr$(x) CHAR(x)
Lcase$(x) LCASE(x)
LOWER(x)
Len(x) DATALENGTH(x)
Ltrim$( x) LTRIM(x)
Mid$(x,y,z) SUBSTRING(x,y,z)
Right$(x,y) RIGHT(x,y)
Rtrim$(x) RTRIM(x)
Space$(x) SPACE(x)
Str$(x) STR(x)
Ucase$( x) UCASE(x)
UPPER(x)
轉換函式
VBA 函數 Transact-SQL
純量涵式
------------------------------------------------
Ccur(x) CONVERT(money,x)
Cdbl(x) CONVERT(float,x)
Cint(x) CONVERT(smallint,x)
Clng(x) CONVERT(int,x)
Csng(x) CONVERT(real,x)
Cstr(x) CONVERT(varchar,x)
Cvdate(x) CONVERT(datetime,x)
日期函數
VBA 函數 Transact-SQL
純量涵式
------------------------------------------------
Date(x) CONVERT(DATETIME,CONVERT(varchar,GETDATE(x)))
Dateadd("<Access datepart>",x,y) DATEADD(<SQL Server datepart>, x, y)
Datediff("<Access datepart>",x,y) DATEDIFF(<SQL Server datepart>, x, y)
Datepart("<Access datepart>", x) DATEPART(<SQL Server datepart>, x)
Day(x) DATEPART(dd,x)
Hour(x) DATEPART(hh,x)
Minute(x) DATEPART(mi,x)
Month(x) DATEPART(mm,x)
Now(x) GETDATE(x)
Second(x) DATEPART(ss,x)
Weekday(x) DATEPART(dw,x)
Year(x) DATEPART(yy,x)
數學函數
VBA 函數 Transact-SQL
純量涵式
------------------------------------------------
Int(x) FLOOR(x)
Sgn(x) SIGN(x)
Rnd(x) ROUND(x)
access911整理的其他函數
VBA 函數 Transact-SQL
純量涵式
------------------------------------------------
replace replace
mid substring
nz isnull