SQL中datelength()和len()函数的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中datelength()和len()函数的区别相关的知识,希望对你有一定的参考价值。

RT
都是返回一个对象的长度,又有什么区别呢?

1、首先指出一点,是【datalength】不是【datelength】
2、这两个函数的区别类似于oracle数据库中的【lengthb】何【length】,虽然返回的都是一个长度值,可是意义不一样,如:
select datalength('张三'); --返回【4】,因为一个汉字占两个字节
select len('张三'); --返回【2】,把一个汉字当做一个字符
select datalength('AB'); --返回【2】,因为一个英文占一个个字字节
select len('AB'); --返回【2】,把一个汉字当做一个字符
3、扩展:oracle中的 【lengthb】何【length】也是这个效果
4、由上面所说,这两个函数的区别主要是:
datalength:返回字节长度。
length:返回字符长度。

---
以上,希望对你有所帮助。
参考技术A 1. DATALENGTH
可以是任何类型的表达式。
(DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。)

2. len只能计算字符串。
参考技术B len() 和 datalength() 的区别

len()返回字符数;datalength()返回字节数

declare @v_char varchar(200), @v_int int

select @v_char = 'i am xlong! ', @v_int = 123456789

select len(@v_char) , datalength(@v_char) , len(@v_int), datalength(@v_int)

----------- ----------- ----------- -----------
11 14 9 4

(1 行受影响)
参考技术C datalength:返回字节长度。
length:返回字符长度。本回答被提问者采纳
参考技术D DATALENGTH ( expression ) 可以是任何类型的表达式。
返回类型是int类型,而LEN()只能针对字符串,返回的类型也是INT型的

SQL LEN() 函数

SQL LEN() 函数
?SQL mid()
?SQL round()
LEN() 函数
LEN 函数返回文本字段中值的长度。
SQL LEN() 语法
SELECT LEN(column_name) FROM table_name

  

以上是关于SQL中datelength()和len()函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL中datelength()和len()函数的区别

SQL LEN() 函数

php, phpMyAdmin sql 错误

在 sql server 中搜索 LEN() 函数的替代项以进行优化

SQL-W3School-函数:SQL LEN() 函数

SQL LEN() 函数