麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 數(shù)據(jù)庫(kù) > Access > 正文

Access與sql server的語(yǔ)法區(qū)別總結(jié)

2020-10-29 21:56:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

下邊列出sql server與access的語(yǔ)法差別,方便更換程序數(shù)據(jù)庫(kù)時(shí)查詢(xún)。

日期分隔符號(hào)
  access:英鎊符(#)
  sql server:撇號(hào)(')

Boolean 常量
  access:True、False;On、Off;Yes、No;整數(shù):-1(真)、0(假)。
  sql server:整數(shù):1(真)、0(假)

字符串連接
  access:和號(hào)(&)
  sql server:加號(hào)(+)

通配符
  access:星號(hào)(*)與零個(gè)或更多字符匹配。 
      問(wèn)號(hào)(?)與單個(gè)字符匹配。
      嘆號(hào)(!)意味著不在列表中。
      英鎊符(#)意味著單個(gè)數(shù)字。
  sql server:百分號(hào)(%)與零個(gè)或更多字符匹配。 
      下劃線(_)與單個(gè)字符匹配。
      上插入符(^)意味著不在列表中。
      沒(méi)有與英鎊符(#)對(duì)應(yīng)的字符。

DROP INDEX
  access:Drop Index <索引名> ON <表名>
  sql server:Drop Index <表名>.<索引名>

表添加標(biāo)識(shí)列
  access:alter table <表名> add <列名> Counter(1,1)
  sql server:alter table <表名> add <列名> bigint identity(1,1) not null

一、有區(qū)別的函數(shù)及解決方案 

以下所示的解決方案中的函數(shù)定義在untDataBase單元中TAdoConn類(lèi)的方法中。

號(hào) 簡(jiǎn)述 Access語(yǔ)法 SqlServer語(yǔ)法 Oracle語(yǔ)法 DB2語(yǔ)法 解決方案
01 系統(tǒng)時(shí)間 Date() GETDATE() SYSDATE   GetSysTimeStr
02 連接字符串 & + || + GetConcatStr
03 截取字符串 SubString
SubStr
SubString SubString GetSubStr
04 小寫(xiě)字符串 LCase Lower Lower Lower GetLowerStr
05 大寫(xiě)字符串 UCase Upper
Upper
Upper
GetUpperStr
06 查找字符串 InStr
InStr
CharIndex
InStr
GetFindStr
07 替換空值 IIF+IsNull Coalesce
Nvl Coalesce GetNullStr
08 條件取值 IIF Case+When+Else DeCode或Case
IIF
GetCaseStr
09 字段類(lèi)型轉(zhuǎn)換 Str、var、…. Convert或cast
To_Char,To_Number. GetConvertStr
GetConvertStr
10 日期字符串
‘2004-10-9'
#2004-10-19#
‘2004-10-9'   GetDateStr
11 最大值加1
        GetNextNumStr
12 Like語(yǔ)句函數(shù) Like ‘101* Like ‘101%'
Like ‘101%'
  GetLikeStr
             

二、Access與SQLSERVER部分相同數(shù)據(jù)庫(kù)函數(shù)及關(guān)鍵字列表

1、 函數(shù)

序號(hào)
簡(jiǎn)述  
01 記數(shù)函數(shù)
Count
02 最大值 Max
     

 

2、 關(guān)鍵字

序號(hào)
簡(jiǎn)述  
01
Like
02 連接 Join
03 判斷空 Is Null
     

三、Access與語(yǔ)句SqlServer的語(yǔ)句語(yǔ)法區(qū)別 
1、 Inser Into …..Select …From 語(yǔ)句:
在ACCESS中以下語(yǔ)句 
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******.co_Type='03')"中的小括號(hào)("(",")")必須去掉才能執(zhí)行,如下: 
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' 
在SQL SERVER 中都可以 
2、 Inner Join 語(yǔ)句1 

StrSql:='select a.user_id,a.user_opcode,b.copy_name from sysuser a inner join (syscopysuser c inner join syscopys b on c.copy_id=c.copy_id) on a.user_id=c.user_id where 
a.user_opcode=''' +EdtUserOpCode.text+''' And copy_name='''+Tmpcopyname +''''; 
應(yīng)該改為 
StrSql:='select a.user_id,a.user_opcode,b.copy_name from sysuser a inner join (syscopysuser c inner join 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 +''''; 
該行代碼的檢索條件錯(cuò)誤:應(yīng)該把C.copy_id=C.Copy_id 改為c.copy_id=d.copy_id 
注:兩種寫(xiě)法都能在SQL-SERVER中運(yùn)行,但c.copy_id=C.copy_id在ACCESS中不能運(yùn)行 
3、 Inner Join 語(yǔ)句2 
StrSql:='select copy_year,copy_name,a.copy_id from SysCopys a inner join 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 inner join SysCopysUser b on a.copy_id=b.copy_id where a.curcopy_flag=''1'' and b.user_id=' + '''' +TmpPubUserID+ ''''; 
注:兩種寫(xiě)法都能在SQL-SERVER中運(yùn)行,但第一種在ACCESS中不能運(yùn)行 
4、 Inner Join語(yǔ)句3 

SQl server 中可以執(zhí)行以下語(yǔ)句 
'Select distinct 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 distinct sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort From sysoption inner join sysroleoption ON sysoption.opti_id=sysroleoption.opti_id Where sysroleoption.role_id=:roleid' 
5、 Update語(yǔ)句 

Sql SerVer 中能執(zhí)行但Access 中不能 
'Update sysuserrole SET sysuserrole.role_sort = (Select sysrole.role_sort FROM sysrole Where sysuserrole.role_id = sysrole.role_id and sysuserrole.user_id='01')' 
6、 日期比較 

SQL SERVER 中用 
StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date ' 
+'From SysCopys ' 
+'where copy_id='''+LoginCopyID+''' ' 
+'and start_date<='''+datetostr(LoginDate)+''' ' 
+'and end_date>='''+datetostr(LoginDate)+''''; 
ACCESS中用 
StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date ' 
+'From SysCopys ' 
+'where copy_id='''+LoginCopyID+''' ' 
+'and start_date<=#'+datetostr(LoginDate)+'# ' 
+'and end_date>=#'+datetostr(LoginDate)+'#' 
參考以上的第10個(gè)函數(shù)“GetDateStr” 
7、 最大數(shù)值獲取語(yǔ)句 
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 
+''' and opti_bottom=''1'+''''; 
改為 
StrSql:='insert into sysRoleOption ' 
+'select '''+fidRoleId+''' as Role_ID,opti_id,' 
+'opti_id-opti_parentid*100+'+ MaxOptiSort 
+' as opti_sort from sysoption where opti_parentid=''' 
+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID 
+''' and opti_bottom=''1'+'''' 
注:兩種寫(xiě)法都能在SQL-SERVER中運(yùn)行,但第一種在ACCESS中不能運(yùn)行 
但是考慮會(huì)出現(xiàn)Null值以及語(yǔ)句的通用性,可以使用以上的第07個(gè)函數(shù)“GetNullStr”和第09個(gè)函數(shù)“GetConvertStr”來(lái)完成字符串向數(shù)字,空值和0數(shù)字的轉(zhuǎn)換:參考GetNextNumStr代碼。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 色妞视频男女视频 | 色中色激情影院 | free国产hd老熟bbw| 国产精品午夜一区 | 欧美综合日韩 | 天堂精品| 精品人成 | 久久精品av | 一区国产在线观看 | 萌白酱福利视频在线网站 | 九九热视频免费 | 国产精品久久久久久模特 | 精品国产一区二区三区免费 | 第一区免费在线观看 | 毛片视频免费观看 | 中文字幕欧美专区 | 羞羞网站视频 | 一级大片一级一大片 | 欧美日韩高清一区 | 久色免费视频 | 久久国产在线观看 | 久久精品视频16 | 黄色av免费电影 | 91精品国产网站 | aa国产视频一区二区 | av免费在线观看免费 | 国产亚洲在线 | 91九色视频观看 | 亚洲精品永久视频 | 日韩视频在线一区二区三区 | 欧美一级美国一级 | 亚洲一区二区三区四区精品 | 欧美一级特黄a | 91综合在线观看 | 国产美女爽到喷白浆的 | 毛片免费观看视频 | 成片免费大全 | 成年片在线观看 | 国产69精品久久99不卡免费版 | 天天碰夜夜操 | 毛片在线视频观看 |