Sybase:資料類型(對比sqlserver)

來源:互聯網
上載者:User

字元數字類型:

  • char、varchar、long varchar
  • nchar、nvarchar、long nvarchar
  • 通過域實現相容sqlserver的資料類型:sysname(varchar(30))、text(long varchar域)、ntext(long nvarchar域)、xml(long varchar域)、uniqueidentifierstr(char(36)的域:映射為sqlserver的uniqueidentifier列)

sybase和sqlserver不同,所有字元資料類型的儲存結構是相同的。預設情況下:在一段中儲存不超過128個位元組的值;如果超過128個位元組的值的完整值儲存在其他頁面上,本地僅僅儲存4個位元組的指向完整值的地址。預設值由create table語句的inline和prefix字句控制。
sybase和sqlserver不同,字元資料類型的長度區分位元組長度和字元長度,預設為位元組長度。
sybase和sqlserver不同,char類型在行為上是和varchar相同的。sql anywhere不會用空白輸入鍵台資料
當用戶端程式對字元資料類型的列執行describe時,視所用的程式介面不同,使用字元長度語義定義可能會影響返回的值。

 

數字資料類型:

  • bigint、bit、decimal、int、integer、numeric、smallint、tinyint
  • double、float(p)、real
  • 通過域實現相容sqlserver的資料類型:money(numeric(19,4))、smallmoney(numeric(10,4))

必須注意:精度、小數位元、數字個數問題
sybase預設bit類型不允許為空白,而sqlserver則無此限制
sybase規定除了bit以外的整數類型可以有unsigned修飾,而sqlserver則無此修飾

 

位元組資料類型:只能儲存0和1組成的資料:整數的二進位表示

  • varbit、bit varying、long varbit、long bit varying

 

位元據類型:逐位元組比較、不進行字元集轉換
binary、long binary、varbinary、binary varying、uniqueidentifier(又稱uuid或guid)
通過域實現相容sqlserver的資料類型:image(long binary)
sybase的位元據和sqlserver的位元據類型最大長度大小不同:為32767而不是80000
sybase的binary雖然類型和varbinary不同,但sybase總是那它當做varbinary處理

 

日期和時間類型:

  • date、time、timestamp
  • 通過域實現相容sqlserver的資料類型:datetime(timestamp)、smalldatetime(timestamp)

sybase的日期和時間類型和sqlserver的有很大不同,sqlserver有datetime、smalldatetime兩種類型且 能表示的範圍和精度較小。
sqlserver中的timestamp類型為一表示行版本的二進位串,和sybase的timestamp日期時間類型根本不同
sybase中,無論:介面如何,是否是odbc格式,是否是嵌入sql的格式,是否指定了date_order,“yyyy-mm-dd”、“yyyy/mm/dd”格式總是可以正確解析為日期;“hh:mm:ss:ssss”將明確的解釋為時間;二者的組合總能產生明確的日期時間;“yyyy-mm-dd hh.mm.ss.sss”也可以產生明確的日期時間,時間中的句點號僅僅能用在和日期組合的情況下!!

 

域:使用者自訂資料類型:內建資料類型的別名,包括:精度、小數位元、default值、check約束、為null性。
域的存在,有利於整個資料庫的一致性,並可以消除一些類型錯誤
sybase的域的定義和使用及功能及要求和sqlserver的完全一樣

 

資料類型轉換:

  • cast、convert顯示轉換;類型函數如date、string、數字類型+0.0;隱式轉換
  • 字元集轉換的丟失和字元替換問題
  • java資料類型和sql資料類型依照 jdbc標準執行轉換
  • 不同資料類型的轉換需要認真研讀、實踐,sybase和sqlserver以及不同的rdbms系統均不會完全相同

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.