亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

Access與sql server的語法區別總結

2020-10-29 21:56:45
字體:
來源:轉載
供稿:網友

下邊列出sql server與access的語法差別,方便更換程序數據庫時查詢。

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

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

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

通配符
  access:星號(*)與零個或更多字符匹配。 
      問號(?)與單個字符匹配。
      嘆號(!)意味著不在列表中。
      英鎊符(#)意味著單個數字。
  sql server:百分號(%)與零個或更多字符匹配。 
      下劃線(_)與單個字符匹配。
      上插入符(^)意味著不在列表中。
      沒有與英鎊符(#)對應的字符。

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

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

一、有區別的函數及解決方案 

以下所示的解決方案中的函數定義在untDataBase單元中TAdoConn類的方法中。

簡述 Access語法 SqlServer語法 Oracle語法 DB2語法 解決方案
01 系統時間 Date() GETDATE() SYSDATE   GetSysTimeStr
02 連接字符串 & + || + GetConcatStr
03 截取字符串 SubString
SubStr
SubString SubString GetSubStr
04 小寫字符串 LCase Lower Lower Lower GetLowerStr
05 大寫字符串 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 字段類型轉換 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語句函數 Like ‘101* Like ‘101%'
Like ‘101%'
  GetLikeStr
             

二、Access與SQLSERVER部分相同數據庫函數及關鍵字列表

1、 函數

序號
簡述  
01 記數函數
Count
02 最大值 Max
     

 

2、 關鍵字

序號
簡述  
01
Like
02 連接 Join
03 判斷空 Is Null
     

三、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******.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 Where PubSubJectAcc.co_type='03' 
在SQL SERVER 中都可以 
2、 Inner Join 語句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 +''''; 
應該改為 
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 +''''; 
該行代碼的檢索條件錯誤:應該把C.copy_id=C.Copy_id 改為c.copy_id=d.copy_id 
注:兩種寫法都能在SQL-SERVER中運行,但c.copy_id=C.copy_id在ACCESS中不能運行 
3、 Inner Join 語句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+ ''''; 
注:兩種寫法都能在SQL-SERVER中運行,但第一種在ACCESS中不能運行 
4、 Inner Join語句3 

SQl server 中可以執行以下語句 
'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語句 

Sql SerVer 中能執行但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個函數“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 
+''' 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'+'''' 
注:兩種寫法都能在SQL-SERVER中運行,但第一種在ACCESS中不能運行 
但是考慮會出現Null值以及語句的通用性,可以使用以上的第07個函數“GetNullStr”和第09個函數“GetConvertStr”來完成字符串向數字,空值和0數字的轉換:參考GetNextNumStr代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文字幕视频在线| 国产一区二区三区欧美| 欧美国产日韩一区二区三区| 国产69久久精品成人看| 韩国美女主播一区| 精品香蕉在线观看视频一| 丁香五六月婷婷久久激情| 欧美在线视频一二三| 日韩一二三在线视频播| 91九色精品视频| 久久99久久久久久久噜噜| 国产91热爆ts人妖在线| 亚洲新中文字幕| 久久久久国产精品免费| 欧美大片在线免费观看| 欧美在线性视频| 亚洲欧美国产一区二区三区| 欧美激情亚洲一区| 永久555www成人免费| 日韩免费在线电影| 国产精品大陆在线观看| 亚洲精品456在线播放狼人| 欧美在线一区二区视频| 久久久电影免费观看完整版| 午夜精品蜜臀一区二区三区免费| 精品视频中文字幕| 欧美亚州一区二区三区| 亚洲女同性videos| 国产精品久久中文| 久久伊人精品天天| 亚洲美腿欧美激情另类| 亚洲男子天堂网| 97在线看免费观看视频在线观看| 一区二区在线免费视频| 亚洲黄页网在线观看| 一区二区在线免费视频| 国产精品成人aaaaa网站| 日本国产精品视频| 欧美大尺度在线观看| 日韩男女性生活视频| 亚洲美女中文字幕| 国产精品久久久久福利| 精品国内产的精品视频在线观看| 亚洲美女www午夜| 亚洲人成网站999久久久综合| 国产精品精品久久久久久| 日本一本a高清免费不卡| 亚洲第一精品电影| 91久久国产婷婷一区二区| 91中文字幕一区| 精品久久香蕉国产线看观看gif| 九九九久久久久久| 欧美巨猛xxxx猛交黑人97人| 最近中文字幕日韩精品| 午夜剧场成人观在线视频免费观看| 91久久久亚洲精品| 国产在线视频2019最新视频| 亚洲第一天堂av| 91精品国产高清自在线| 三级精品视频久久久久| 亚洲精品在线观看www| 午夜精品久久久久久久99热| 日韩久久免费电影| 国产精品黄色影片导航在线观看| 亚洲欧美国产精品va在线观看| 日韩高清欧美高清| 亚洲精品久久久久久久久久久| 国产精品久久久久久久久久久久| 亚洲精品电影网在线观看| 欧美午夜视频在线观看| 日韩网站在线观看| 最新中文字幕亚洲| 97精品久久久中文字幕免费| 秋霞午夜一区二区| 91影院在线免费观看视频| 亚洲国产成人久久综合| 国产精品成人国产乱一区| 日韩精品www| 亚洲摸下面视频| 国产精品精品视频| 亚洲免费高清视频| 91经典在线视频| 国产精品一久久香蕉国产线看观看| 欧美在线性爱视频| 91久久嫩草影院一区二区| 日韩av在线高清| 中文字幕免费精品一区高清| 久久综合九色九九| 2019国产精品自在线拍国产不卡| 伦伦影院午夜日韩欧美限制| 日韩欧美aaa| 欧美视频在线免费| 欧美午夜性色大片在线观看| 在线成人中文字幕| 精品久久久久久国产| 国产精品96久久久久久又黄又硬| 综合国产在线视频| 久久综合免费视频| 国产精品欧美在线| 日韩av综合网站| 日韩在线播放一区| 久久久久久久久爱| 97视频在线播放| 欧美成人精品三级在线观看| 欧美刺激性大交免费视频| 国内揄拍国内精品| 亚洲免费视频网站| 91在线视频成人| 国内精品模特av私拍在线观看| 精品久久久久久中文字幕大豆网| 日韩电视剧在线观看免费网站| 精品福利在线视频| 97视频在线播放| 伊是香蕉大人久久| 日韩视频在线免费| 欧美激情伊人电影| 97av在线视频免费播放| 日韩av免费观影| 亚洲激情久久久| 亚洲丝袜av一区| 国产美女久久久| 国产综合福利在线| 精品福利一区二区| 国产精品一区二区电影| 精品国产福利在线| 欧美在线视频播放| 久久久久久com| 91精品视频在线免费观看| 成人亲热视频网站| 插插插亚洲综合网| 欧美黄色性视频| 日韩女优人人人人射在线视频| 久久影视三级福利片| 在线日韩中文字幕| 欧美日韩不卡合集视频| 久久久影视精品| 92裸体在线视频网站| 久久久久久亚洲精品中文字幕| 色综合久久天天综线观看| 9.1国产丝袜在线观看| 亚洲剧情一区二区| 欧美一级淫片播放口| 亚洲一品av免费观看| 国产精品久久久久久久9999| 97香蕉超级碰碰久久免费软件| 成人精品视频在线| 亚洲天堂网在线观看| 欧美激情性做爰免费视频| 黑人精品xxx一区一二区| 久色乳综合思思在线视频| 国产香蕉97碰碰久久人人| 国产精自产拍久久久久久蜜| 2023亚洲男人天堂| 成人精品一区二区三区| 日韩精品免费电影| 亚洲午夜性刺激影院| 久久久久久国产免费| 国产精品老牛影院在线观看| 国产综合香蕉五月婷在线| www.欧美三级电影.com| 亚洲区bt下载| 欧美在线视频在线播放完整版免费观看| 国内外成人免费激情在线视频| 97在线精品国自产拍中文|