实验表格


--LEN (参数) --计算指定参数的字符串个数,不区分中英文--DataLength(参数) --计算指定参数所占据的字节长度。一个英文一个字节,一个中文两个字节。SELECT LEN('aa') --2SELECT LEN('计算值') --3SELECT DATALENGTH(N'计算值') --6 (N表示是否采用unicode,)--char 存储的数据小于指定空间的时候,空间不会收缩。若大于则会被二进制截断,并报错。SELECT LEN(Char) FROM charTest --2SELECT DATALENGTH(Char) FROM charTest --10--varchar var--variable 可变的,说明分配的空间是一个可以动态变化的空间。--当存储的字符长度小于分配的空间的时候,多余的空间会被自行回收,但是大于的时候会报错,且性能较差,比如做判断空间是否会回收,遍历等。SELECT LEN(Varchar) FROM charTest --2SELECT DATALENGTH(Varchar) FROM charTest --2--注意:在何时使用,应该视情况而定。--nchar n--unicode:不管哪种字符都会使用两个字节进行存储SELECT LEN(Nchar) FROM charTest --2(即两个字符)SELECT DATALENGTH(Nchar) FROM charTest --20(N个char,char空间是固定的)--nvarchar SELECT LEN(Nvarchar) FROM charTest --2(即两个字符)SELECT DATALENGTH(Nvarchar) FROM charTest --4(N个char,char空间不是固定的)