LEN和DATALENGTH的区别
DATALENGTH( expression ) 返回用于表示任何表达式在MSSQL Server中所占用的字节数。
LEN( string_expression ) 返回给定字符串表达式的字符数(不包括尾随空格),而不是返回字节数。一个非字符串表达式使用LEN时,MS SQLServer会先转换成字符串,然后再返回该字符串的LEN值的。
if object_id('ta') is not null drop table ta go
create table ta (col1 varchar(20), col2 char(20), col3 nvarchar(20), col4 nchar(20), col5 datetime, col6 int) Go
insert into ta values('hello你好', 'hello你好', 'hello你好', 'hello你好', getdate(), 100)
select len(col1), len(col2), len(col3), len(col4), len(col5), len(col6), * ,convert(varchar(30), col5) from ta --返回:
select datalength(col1), datalength(col2), datalength(col3), datalength(col4), datalength(col5), datalength(col6), * from ta --返回:
|