CREATE TABLE [dbo].[CharTest](
[Char] [char](10) NULL,
[Varchar] [varchar](10) NULL,
[Nchar] [nchar](10) NULL,
[Nvarchar] [nvarchar](10) NULL
) insert into dbo.CharTest
( Char, Varchar, Nchar, Nvarchar )
values ( 'aa', -- Char - char(10)
'aa', -- Varchar - varchar(10)
N'aa', -- Nchar - nchar(10)
N'aa' -- Nvarchar - nvarchar(10)
) --len(参数):可以获取参数的字符个数,与中英文无关
select LEN('aaa')
select LEN('中a国')
--datalength(参数):可以获取参数所占据的字节数(英文一个字节,中文两个字节)
select DATALENGTH('aaa')
select DATALENGTH('中国')
--char类型的特点:空间一旦分配,就不会再收缩回收,但是如果存储的内容走出指定的空间,那么就会报错--二进制截断的错误
--当你有内容长度变化不大的时候,使用char
select LEN(char) from chartest --
select DATALENGTH(char) from chartest --
--varchar:空间分配后,如果存储的内容小于指定的空间大小,那么多余的空间会自动回收,但是如果存储的内容走出指定的空间,那么就会报错--二进制截断的错误 如果内容的长度波动比较大,才会考虑使用varchar
select LEN(varchar) from chartest --
select DATALENGTH(varchar) from chartest --
--nchar: N:Unicode--unique code:唯一编码。每一种类型的字符都占据两个字节。 有中文的时候才会考虑使用unicode
select LEN(nchar) from chartest --
select DATALENGTH(nchar) from chartest --
--nvarchar:
select LEN(nvarchar) from chartest --
select DATALENGTH(nvarchar) from chartest --

char类型的说明的更多相关文章

  1. C语言基础(6)-char类型

    1. char常量.变量 使用单引号‘’引起来的就是char的常量 ‘a’是一个char类型的常量 “a”是一个字符串类型的常量 1是一个int型的常量 ‘1’是一个char型的常量 char a; ...

  2. 在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?

    今天在做 COS脚本解释器的时候,遇到了这个问题 先了解一下 LPCTCHAR 这个东东 LPCTSTR用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么 ...

  3. 关于各种类型数据char、int、double、float 所占空间长度的计算,而char类型让我长姿势了

    #include <iostream> int main() { using namespace std; //int A=10; //double B=6; cout << ...

  4. unsigned char 类型

    在蓝牙4.0的开发中,很多数据类型都用到了 unsigned char ,我觉得用这个类型的一个原因是相比较于整型,它占的空间更少. 比如: unsigned char a = 1;  // 占1个字 ...

  5. char类型输出地址

    问题描述: 当输出char的地址时,发现输出的是一个字符: char ch = 'a'; cout<<&ch<<endl;//a @ 因为cout得到一个char类型的 ...

  6. 关于Char类型数据做cout输出

    当用cout 或者 printf()对char 或者 unsigned char类型数据进行输出的时候,默认输出的都是字符,而不是字符对应的数值.如果要输出数值,必须做int 类型数据的强制转换. 例 ...

  7. 对char类型的理解以及对补码的理解分析

    今天遇到这样一个小程序,觉得当中有些问题很容易让人忽略的! 这个程序代码如下: 程序的结果为: 我想很多像我一样的小白可能才开始是想不明白为什么最后的结果是255吧!首先,我们得知道 strlen() ...

  8. NSString / NSData / char* 类型之间的转换

    转自网络: NSString / NSData / char* 类型之间的转换 1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; ch ...

  9. char类型与Unicode的编码

    Java的char型是非常独特的,占用两个字节,因为Java中char型采用了Unicode编码. 要理解这个问题,我们必须要理解什么是Unicode. 世界上存在着多种编码方式,同一个二进制数字可以 ...

随机推荐

  1. 【C语言学习】《C Primer Plus》第9章 函数

    学习总结 1.函数有利于我们可以省去重复的代码,函数可以使程序更加模块化,从而有利于程序的阅读.修改和完善.我们在系统设计或架构设计的时候,往往追求的是模块化.组件化.松耦合,而函数就是其代码的表现. ...

  2. css选择器优先级全解析

    这样一个问题: <!doctype html> <htmllang="en"> <head> <metacharset="UTF ...

  3. WPF版的权限管理系统

    好多技术人员都有一个通病,不关注用户的需求,产品的可用性,只看使用的技术的新不新,潮不潮,这就是所谓的技术发烧友. 这段时间,断断续续的开发一个WPF的软件,也拿出来Show一下.要不放在硬盘里就发霉 ...

  4. 跨站请求伪造CSRF

    CSRF是Cross Site Request Forgery的缩写,乍一看和XSS差不多的样子,但是其原理正好相反,XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求. 在XSS危害 ...

  5. Redis教程(十四):内存优化介绍

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/142.html 一.特殊编码: 自从Redis 2.2之后,很多数据类型都 ...

  6. 【管理心得之三十二】PMP杂谈---------爱情必胜术

    这次一反常态,没有场景设计,我想借此文普及一下PMP是什么? 但我不知道这样枯燥的话题能否能引起你的兴趣,我不得不套用“标题党”<爱情必胜术>来博你眼球. 我真没有说谎,此文是献给那些孤身 ...

  7. Android笔记——我的Android课的开始

    android 最底层的是什么?  硬件 介于硬件与软件之间的一个交互,你猜猜需要什么? 软件的上面一层便是各种的类库 硬件与软件之间的交互,就是需要驱动的进行. 1.android系统架构 1.Li ...

  8. CKFinder_AspDotNet_2.4 破解方法 去版权

    CKFinder是一个比较好用的Web端文件管理器,虽然UI不是很好看,但是因为能搞到源码,所以比起网上那些只有付费之后才能下载到源码的Web端文件管理器要好许多,至少你可以在确定该控件是否能用在你的 ...

  9. Python - 001 - 类与实例间属性的理解

    Python是个很灵活的语言,光看它的类和实例间属性的访问机制就可以看出这一点,不过这一点还真的不好理解,做了些测试之后我的理解是这样的: 实例在访问class属性时,先检索自己的names, 如果有 ...

  10. Web Workers 的基本信息

    问题:JavaScript 并行性 要将有趣的应用(例如从侧重服务器端的实施)移植到客户端 JavaScript,存在很多制约瓶颈.其中包括浏览器兼容性.静态类型.可访问性和性能.幸运的是,随着浏览器 ...