SQL中sysname數據類型的含義(轉)


sysname

SQL Server 實例包括用戶定義的名為 sysname 的數據類型sysname 用於表列、變量以及用於存儲對象名的存儲過程參數sysname 的精確定義與標識符規則相關;因此,SQL Server 的各個實例會有所不同。sysname 與 nvarchar(128) 作用相同。SQL Server 6.5 或早期版本僅支持較小的標識符;因此,在早期版本中,sysname 被定義為 varchar(30)

重要提示:

在區分大小寫或使用二進制排序規則的數據庫中,僅當 sysname 以小寫顯示時,才會被識別為 SQL Server 系統數據類型。

------------------------------------------------------------------------------------------------------------------------------------------

是系統提供用戶定義的數據類型,在功能上等同於   nvarchar(128),用於引用數據庫對象名。

------------------------------------------------------------------------------------------------------------------------------------------

select   *   from   systypes 
          你可以看到系統支持的所有類型,其中有sysname

------------------------------------------------------------------------------------------------------------------------------------------

sysname等價於not   null   的nvarchar(128),這於它顯示的leng-256是表示占用256個字節的空間.但是只能存128個字符(一個字符占   兩個字節).

------------------------------------------------------------------------------------------------------------------------------------------

那將sysname換成nvarchar(128)也沒有什么嗎?

不是的,sysname等價於not   null的nvarchar(128).你換成了varchar(128)就少了not   null的限制了. 

我的感覺這個sysname字段就是系統自己在nvarchar(128)的基礎上封裝的一個數據類型.長度256,不可為空,主要是用來作為系統中一些元數據的類型的,比較方便,省得每次都指明長度和為空性. 

你可以用如下的語句自己比較一下 
exec   sp_help   sysname 
go 

exec   sp_help   nvarchar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM