SQL小细节

  平时有些小细节,不留意的话很容易得到错误的答案,我们来看下下面的代码,看看你是否能答对呢?

DECLARE  @str VARCHAR(50) ,@info CHAR(30) 
SELECT  @str = '中国CH',@info='MyTest'  

SELECT [字符串]= @str,[Len]=len(@str) ,[DataLength]=datalength(@str) 
SELECT  [字符串]= @info ,[Len]=len(@info) ,[DataLength]=datalength(@info) 


--我们来看下定义为VARCHAR会是什么样的结果
DECLARE  @str2 NVARCHAR(50) ,@info2 NCHAR(30) 
SELECT  @str2 = '中国CH',@info2='MyTest'  

SELECT [字符串]= @str2,[Len]=len(@str2) ,[DataLength]=datalength(@str2) 
SELECT  [字符串]= @info2 ,[Len]=len(@info2) ,[DataLength]=datalength(@info2) 

上面的语句将会返回什么样的结果呢?是不是看着都一样?下面我贴出结果,是不是和你想的一样呢?

原文地址:https://www.cnblogs.com/mfkaudx/p/3806451.html