access升级到SQLServer如何调整字段类型及函数。JET SQL T-SQL同义词

来源:互联网 发布:软件系统开发报价单 编辑:程序博客网 时间:2024/05/20 07:35

请参阅:

http://access911.net/down/jet_sql_1.htm

升级后的字段调整:

  jet sql 与 t-sql 数据类型同义词。

等效的 ANSI SQL 数据类型

下列表列出了 ANSI SQL 数据类型和等效的 Microsoft Jet 数据库引擎 SQL数据类型还有它们的有效同义字。并且列出了 等效的 Microsoft SQL服务器数据类型。

ANSI SQL
的数据类型 Microsoft Jet
SQL 的数据类型
同义字 Microsoft SQL
服务器数据类型 BIT,BIT VARYING BINARY(请参阅注意) VARBINARY,
BINARY VARYING
BIT VARYING BINARY, VARBINARY 不支持 BIT(请参阅注意) BOOLEAN,LOGICAL,LOGICAL1,YESNO BIT 不支持 TINYINT INTEGER2,SMALLINT TINYINT 不支持 COUNTER(参见注意) AUTOINCREMENT (参见注意) 不支持 MONEY CURRENCY MONEY DATE,TIME,TIMESTAMP DATETIME DATE, TIME (参见注意) DATETIME 不支持 UNIQUEIDENTIFIER GUID UNIQUEIDENTIFIER DECIMAL DECIMAL NUMERIC, DEC DECIMAL REAL REAL SINGLE, FLOAT4, IEEESINGLE REAL DOUBLE PRECISION,FLOAT FLOAT DOUBLE, FLOAT8, IEEEDOUBLE, NUMBER (参见注意) FLOAT SMALLINT SMALLINT SHORT, INTEGER2 SMALLINT INTEGER INTEGER LONG, INT, INTEGER4 INTEGER INTERVAL 不支持   不支持 不支持 IMAGE LONGBINARY, GENERAL, OLEOBJECT IMAGE 不支持 TEXT (参见注意) LONGTEXT, LONGCHAR, MEMO, NOTE, NTEXT (参见注意) TEXT CHARACTER, CHARACTER VARYING, NATIONAL CHARACTER, NATIONAL CHARACTER VARYING CHAR (参见注意) TEXT(n), ALPHANUMERIC, CHARACTER, STRING, VARCHAR, CHARACTER VARYING, NCHAR, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING (参见注意) CHAR, VARCHAR, NCHAR, NVARCHAR

注意

  • ANSI SQL BIT数据类型与 the Microsoft Jet SQL BIT 数据类型不对应。而与 BINARY 数据类型对应。ANSI SQL 并没有等效于 Microsoft Jet SQL 的 BIT 的数据类型。
  • TIMESTAMP不再作为DATETIME的同义字被支持。
  • NUMERIC 不再作为 FLOAT或 DOUBLE的同义字被支持。NUMERIC现在被用作DECIMAL的同义字。
  • LONGTEXT字段总被储存于 Unicode 表示格式.
  • 如果数据类型名 TEXT被使用而未说明任选长度,例如 TEXT(25), LONGTEXT字段会被创建。这使得 CREATE TABLE 语句能被写成让数据类型同 Microsoft SQL 服务器保持一致。
  • CHAR字段总被储存于 Unicode 表示格式,和 ANSI SQL NATIONAL CHAR 数据类型等效。
  • 如果数据类型名 TEXT 被使用而未说明任选长度,例如 TEXT(25),则这一字段的数据类型与 CHAR 数据类型等效。这样既保持了对 Microsoft Jet应用程序的向后兼容,又使 TEXT 数据类型(没有长度说明) 能用 Microsoft SQL服务器定位。

 


 

 

 

 

JET SQL 数据类型参考

SQL 数据类型

Microsoft Jet 数据库引擎 SQL 数据类型 由13个基本数据类型组成,它们是由 Microsoft Jet 数据库引擎和几个验证过的有效同义字定义的。

下面的表格列出了主要数据类型。这些同义字在 Microsoft Jet 数据库引擎 SQL 保留字中被识别。

数据类型 存储大小 说明 BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中。不需数据转换(例如,转换到文本数据)。数据输入二进制字段的方式决定了它的输出方式。 BIT 1 个字节 Yes 和 No ,以及只包含这两个数值之一的字段。 TINYINT 1 个字节 介于 0 到 255 之间的整型数。 MONEY 8 个字节 介于 –922,337,203,685,477.5808 到 922,337,203,685,477.5807 之间的符号整数。 DATETIME
(清参阅 DOUBLE ) 8 个字节 介于 100 到 9999 年的日期或时间数值。 UNIQUEIDENTIFIER 128 个位 用于远程过程调用的唯一识别数字。 REAL 4 个字节 单精度浮点数,负数范围是从 –3.402823E38 到 –1.401298E-45,正数从1.401298E-45 到 3.402823E38,和 0。 FLOAT 8 个字节 双精度浮点数,负数范围是从 –1.79769313486232E308 到 –4.94065645841247E-324,正数从 4.94065645841247E-324 到 1.79769313486232E308,和 0。 SMALLINT 2 个字节 介于 –32,768 到 32,767 的短整型数。 INTEGER 4 个字节 介于 –2,147,483,648 到 2,147,483,647 的长整型数。 DECIMAL 17 个字节 容纳从 1028 - 1到 - 1028 - 1. 的值的精确的数字数据类型。你可以定义精度 (1 - 28) 和 符号 (0 - 定义精度)。缺省精度和符号分别是18和0。 TEXT 每一字符两字节(参见注意) 从零到最大 2,14 千兆字节。 IMAGE 视实际需要而定 从零到最大 2,14 千兆字节。用于 OLE 对象。 CHARACTER 每一字符两字节(参见注意) 长度从 0 到 255 个字符。

注意

  • 可以用ALTER TABLE 语句修正基数和增量。刚插进表中的行会有自动为基于新种值和增量值的列生成的值。如果新种和增长的值和以前的种值及增量匹配,就会造成复制。如果这个列是主键,复制值生成时可能导致错误。
  •  
  • 定义成TEXT也称作MEMO)或CHAR(也称作有具体长度的 TEXT(n))的字段中的字符被储存在 Unicode 表示格式。Unicode字符一律需要两个字节存储每一字符。对于现有的主要包含字符数据的 Microsoft Jet数据库,这可能意味着数据库文件被转换成 Microsoft Jet 4.0格式时字长会增加将近一倍。然而,从前由单字节字符群(SBCS)指示的众多字符群的Unicode 表示可以很容易地被压缩成一个单字节。 有关的详细信息,参见 CREATE TABLE。如果用COMPRESSION属性定义CHAR列,数据存储时会自动被压缩,提取时解压缩。

 

 

升级后的函数调整:

 

全部显示全部隐藏

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与T-SQL之间的函数比较;SQL Server的SQL语句如何在ACCESS中使用? 
    http://access911.net/?kbid;79FAB61E14DC

 
原创粉丝点击