Access 和 sql server 语法有什么区别?

分类:编程技术 时间:2024-02-20 15:26 浏览:0 评论:0
0
今天我就和大家聊聊Access和SQL Server语法的区别。很多人可能对此还不是很了解。为了让大家更好的了解,小编为大家总结了以下内容。希望您能从本文中有所收获。 。

日期分隔符
访问:井号 (#)
SQL Server:撇号 (')

布尔常量
访问:True、False ;开关;是,否;整数:-1(真)、0(假)。
​SQL Server:整数:1(真)、0(假)

字符串连接
​访问:与号 (&)
​SQL Server:加号 (+)< /p>

通配符
访问:星号 (*) 匹配零个或多个字符。
问号 (?) 匹配单个字符。
感叹号(!)表示不在列表中。
井号 (#) 表示单个数字。
sql server:百分号 (%) 匹配零个或多个字符。
下划线(_)匹配单个字符。
插入符号 (^) 表示它不在列表中。
井号 (#) 没有对应的字符。

DROP INDEX
访问:删除索引 <索引名称> ON <表名称>
SQL 服务器:删除索引 <表名称>.<索引名称>

表添加标识列
访问:alter table <表名> add <列名> Counter(1,1)
SQL Server:alter table <表名> add <列名> bigint Identity(1 ,1) 不为空

1.差异化函数及解决方案

下面所示解决方案中的函数定义在untDataBase单元中的TAdoConn类的方法中。

td>< td >Nvl点赞“101%”
< td>
否。简要描述访问语法SqlServer语法Oracle语法DB2语法解决方案DB2语法解决方案
01系统时间日期()GETDATE() SYSDATE GetSysTimeStr
02连接字符串&+|| +GetConcatStr
03截取字符串SubString
SubStr
SubString SubStringGetSubStr
04小写字符串 LCaseGetLowerStr
05大写字符串UCase大写
大写
< /td>

GetUpperStr
06查找字符串InStr
InStr
CharIndex
InStr
GetFindStr
07替换空值IIF+IsNull合并
合并GetNullStr
08条件值IIFCase+When+ElseDeCode 或 Case
IIF
GetCaseStr
09字段类型转换 Str, var,….转换或转换
To_Char,To_Number。GetConvertStr
GetConvertStr< /td>
10日期字符串
'2004-10-9 '
#2004-10-19#
'2004-10-9' GetDateStr
11最大值加1
GetNextNumStr
12Like语句函数Like '101*Like ' 101%'
GetLikeStr
< /td>

2. Access和SQLSERVER之间一些相同的数据库函数和关键字列表

1.功能

串行编号
简要说明
01计数功能
计数
02最大值最大

2.关键字

< /tr>< td width="34%">为空
序列号mber
简要说明
01
喜欢
02连接加入
03判决无效

3. Access和SqlServer语句语法的区别
1. Inser Into…..Select…From 语句:
ACCESS 中的以下语句
Insert INTO
PubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index ) (Select 200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index FROM PubSubJectAcc Where PubSubJectAcc.co_type='03')
中回"(select 200201 括号 ("(", “)”)in ******.co_Type='03')" 必须在执行前删除,如下所示:
Insert INTO
PubSubJectAccCopys(Copy_id,Acc_id, Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro, acc_type,Sub_id_flag,acc_index) Select 200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index FROM PubSubJectAcc 其中 PubSubJectAcc.co_type='03'
可在 SQL SERVER 中使用
2. 内连接语句 1

StrSql:='select a.user_id,a.user_opcode,b.copy_name from sysuser a 内连接 (syscopysuser c 内连接 syscopys b on c.copy_id=c. copy_id) 在 a.user_id=c.user_id 上,其中
a.user_opcode=''' +EdtUserOpCode.text+''' 和 copy_name='''+Tmpcopyname +'''';
应更改
StrSql:='select a.user_id,a.user_opcode,b.copy_name from sysuser a 内部联接 (syscopysuser c 内部联接 syscopys b on c.copy_id=d.copy_id) on a.user_id=c.user_id where
a.user_opcode=''' +EdtUserOpCode.text+''' And copy_name='''+Tmpcopyname +'''';
搜索条件n 对于这行代码是错误的:C.copy_id= 应该是 C.Copy_id 改为 c.copy_id=d.copy_id
注意:两种写法都可以在 SQL-SERVER 中运行,但是 c.copy_id= C.copy_id无法在ACCESS中运行
3。内部联接语句 2
StrSql:='select copy_year,copy_name,a.copy_id from SysCopys a 内部联接 SysCopysUser b on a.curcopy_flag=1 and a.copy_id=b.copy_id where b.user_id=' + '' '' +TmpPubUserID+ '''';
这应该是
StrSql:='select copy_year,copy_name,a。 copy_id from SysCopys a 内部联接 SysCopysUser b on a.copy_id=b.copy_id,其中 a.curcopy_flag=''1'' 和 b.user_id=' + '''' +TmpPubUserID+ '''';
注意:两种写法都可以在SQL-SERVER中运行,但第一种写法不能在ACCESS中运行
4. Inner Join语句3

以下语句可以在SQl服务器中执行
'Select different sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort From sysoption inner join sysroleoption ON sysoption .opti_id=sysroleoption.opti_id AND sysroleoption.role_id=:roleid'
但不能在 ACCESS 中使用,只能
'Select different  P ;Pti_id, Sysoption.Opti_name, Sysoption.Opti_Code, SysroleOption.Opti_SORT FROM SYSOPTION Inner Join Sysoption.Opti_ id = sysroleoption.Opti_id where SysroleOption.role_id =: Roleid '
5、Update语句

可以在Sql SerVer中执行,但不能在Access中执行
'更新sysuserrole SET sysuserrole.role_sort =(从sysrole中选择sysrole.role_sort,其中sysuserrole.role_id = sysrole.role_id且sysuserrole.user_id ='01')'
6。日期比较

用于 SQL SERVER
StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date '
+'From SysCopys '
+'其中 copy_id='''+LoginCopyID+''' '
+' 和 start_date<='''+datetostr(LoginDate)+''' '
+' 和 end_date>='''+datetostr (登录日期)+'''';
在ACCESS中使用
StrSql:='select copy_year,Start_month,Cur_month,Start_Flag ,Start_date,End_date '
+'来自SysCopys '
+'where copy_id='''+LoginCopyID+''' '
+'and start_date<=#'+datetostr(LoginDate)+ '# '
+'and end_date> =#'+datetostr(LoginDate)+'#'
参考上面的第10个函数“GetDateStr”
7。最大值获取语句
StrSql:='insert into sysRoleOption '
+'select '''+fidRoleId+''' as Role_ID,opti_id,'
+'convert(numeric,opti_id) -(convert(numeric,opti_parentid)*100)+'+ MaxOptiSort
+' as opti_Sort from sysoption where opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID < br/>+''' 和 opti_bottom=''1'+'''';
更改为
StrSql:='插入sysRoleOption'
+'选择'''+fidRoleId+'''作为Role_ID,opti_id,'
+'opti_id-opti_parentid*100 +'+ MaxOptiSort
+' 作为 sysoption 中的 opti_sort,其中 opti_parentid='''
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID
+''' 和 opti_bottom=' '1'+''''
注意:两种写法都可以在SQL-SERVER中运行,但第一种不能在ACCESS中运行
不过考虑到Null值的出现以及语句的通用性,可以使用上面的第07个函数“GetNullStr”和第09个函数“GetConvertStr”来完成字符串到数字、空值的转换​​和0个数字:参考GetNextNumStr代码。

看完上面的内容,你是不是对Access和sql server语法的区别有了进一步的了解呢?如果您想了解更多知识或相关内容,请关注行业资讯频道。感谢您的支持。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > Access 和 sql server 语法有什么区别?

用户评论