• 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

  • 相关阅读:
    RabbitMQ学习笔记
    Eclipse下JRebel的安装和基本使用
    通过HTTP响应头让浏览器自动刷新
    CentOS6.5安装Jenkins
    Windows快捷操作技巧
    关于代码压缩混淆加密整理;
    一款优雅的小程序拖拽排序组件实现
    记一次 Mac CA证书 问题
    微信小程序-Swiper和下拉刷新组件
    WeUI Picker组件 源代码分析
  • 原文地址:https://www.cnblogs.com/jiuban2391/p/6605827.html
Copyright © 2020-2023  润新知