• SqlServer -- char varchar、nchar、nvarchar


    一、char与varchar

    列如:

    char(10)

    varchar(10)

    写入“abc”
    char 损耗了硬盘10字节 = “abc”长度 + 7个空字符
    varchar损耗了硬盘3字节 = “abc”长度

    var:可变长度,会根据实际存储数据的大小动态重新分配存储空间。

    不带var:固定长度,存储3个字符也是要占用10个字节的,会自动补7个空格

    注意:如果存储的数据超过了10个字节,那么无论是固定长度还是可变长度都会报错的。

    理论:

    前缀N就表示Unicode字符,比如nchar,nvarchar,这两种类型使用了Unicode字符集。

    非Unicode码(例如ASCII码),英文字符需要一个字节存储,但汉字和其他众多非英文字符,则需要两个字节存储。如果英文与汉字同时存在,由于占用空间数不同,容易造成混乱,导致读取出来的字符串是乱码。

    Unicode(统一码)就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。

     二、char与nchar

    char()不带n的数据类型,存储中文等双字节字符,占用2个字节;存储英文,数字等每个字符占用1个字节。

    nchar() n的,无论存储中文还是英文、数字等,每个字符都是占用两个字节。 

    注意:不带n的这些数据类型,长度最常可以设置为8000,而带n的这些数据类型,长度最长可以设置为4000,实际存储空间相同,既8000字节。

    char(8000)

    varchar(8000)

    nchar(4000)

    nvarchar(4000)

    N前缀:N代表转换为Unicode格式

    insert into students1(name,birtiday) values(N'科比',1994-01-01)

    其它:

    Bit类型在管理器上只能用true和false 在写程序代码的时候只能用1和0

  • 相关阅读:
    Node Js
    动态遍历接收的参数
    负载均衡和springcloud.Ribbon
    Spring Cloud
    springboot整合hibernate
    python模块知识总结
    什么是netty--通俗易懂
    IDEA 的操作与使用
    spring 整合guava
    log4j向指定文件输出日志
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6181405.html
Copyright © 2020-2023  润新知