Sybase:基礎語言元素(對比sqlserver)

來源:互聯網
上載者:User

名字:

  • 關鍵字:詞法分析的一種作為常量的字串名,主要是為了詞法分析用。
  • 標識符:詞法分析的一種作為變數的字串名,標識對象的名稱
  • 保留字;詞法分析中不可作為標識符的字串名,主要是為了相容和擴充的目的。

通常,如果關鍵字可以通過雙引號("")引用而作為標識符,那它被稱為保留字;如果不需要雙引號引用就可以作為標識符使用,那它就不是保留字。

  • 標準sql語言是不區分大小寫
  • sybase的標識符規則和sqlserver基本完全一樣:最大長度是128個字元,不區分大小寫,可以使用雙引號或方括弧括起來。標識符符合一般的規則時,不需要括起來:首字元是字母(字母表中的字母、底線、@、#、$),其他部分是字母、數字、_、@、#、$;但是絕對不能使用下列字元:雙引號、小於0x20的字元(控制字元)、雙反斜線;其他情況下,則必須使用方括弧或雙引號括起來:首字母不是字母,包含空格,為保留字,包含字母表以外的其他字元
  • sqlbase的標識符規則和sqlserver不一樣的地方在於:sqlserver不允許$作為常規標識符的第一個字母;@@開頭的標識符代表全域變數;##開頭的標識符代表全域暫存資料表

 

常量:

  • 字串常量:使用單引號或雙引號括起來的字元序列,推薦用單引號括起來;最大為2G個字元;具有位元組和字元兩種長度計量標準,對於單位元組字串字元長度等於位元組長度,對於多位元組字串字元長度小於位元組長度;
  • Nchar字串常量:當然你可以使用“N'字串'”來指導nchar字串,如此對於通常的英文字串字元長度總等於位元組長度,而合字元集的無關。
  • 二進位或十六進位字串常量:以“0x”開頭(不知道是否區分大小寫?待驗證?),偶數個[0-9a-f]字元組成的不帶引號的字串序列。

以上sybase和sqlserver是完全相同的!!

和sqlserver不同:sysbase支援4類的字串中的逸出序列:兩個當引號轉義為一個單引號字元;“\x”開頭後接十六進位數可以轉義任何字元;“\n”轉義分行符號;“\\”轉義一個反斜線字元。而sqlserver僅僅支援:兩個當引號轉義為一個單引號字元

 

運算子:

  • 比較子:大小寫區分問題,尾隨空白處理問題
  • 邏輯運算子:sqlserver支援的運算子比sybase多很多如:some、any、all、in、between、exists、like、in,但是不支援is;sysbase只支援:and 、or 、not、is
  • 位元運算符:
  • 字串串連運算子:sysbase除了支援 “+”外,還支援 sql2003標準的“||”;sqlserver不支援該操作符

基本上,可以認為sysbase的運算子是sqlserver運算子的子集

 

運算式:可以通過計算傳回值的語句。
sybase的運算式非常豐富,較sqlserver有很多的增強,可以是:

  • sybase   運算式:常量、列名、函數、    變數、    一元運算、兩元運算、組合運算、僅僅返回一個標量值的子查詢、case運算式、if運算式、特殊值(類似於sqlserver的全域系統變數或系統函數)
  • sqlserver運算式:常量、列名、純量涵式、本地變數、一元運算、兩元運算、組合運算、僅僅返回一個標量值的子查詢、case運算式、is [not] null運算式

 

搜尋條件:

  • sybase中只能用於where、having、check、on短語、if運算式中的,類似於sqlserver的其他邏輯操作符和比較操作符,有:二元比較運算、{any|some|all}(多行子查詢) 、between、like ? escape ?、in、exists、not、and、or、is [NOT] {NULL|TRUE|FALSE|UNKNOWN}、顯示選擇性估計
  • sybase基本上這些搜尋條件運算和sqlserver中相同;不同處:like 運算支援escape是sybase的特性;增強了is 測試的能力

 

特殊值:sysbase的特殊值和sqlserver的全域變數或會話變數或系統函數類似

 

變數:

  • sysbase具有三個層級的變數:本地、串連會話、全域;而sqlserver有兩個層級的變數:本地、全域
  • sysbase生命局部變數declare只能聲明1個;而sqlserver則可以declare聲明多個
  • sysbase的變數可以通過set和select into設定;而sqlserver可以通過set 和 select = 設定

sybase很多的全域變數是為了相容t-sql而設定的,且很多特殊變數類似於全域變數,或者可以理解為全域變數的別名

 

注釋:

  • sysbase支援四種注釋符風格:--、/* */ 、//、%(必須經過設定)
  • sqlserver支援兩種注釋風格:--、/* */

null值問題:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.