返回字符串表达式中字符数的字符串函数。
LENGTH(string-expression)
{fn LENGTH(string-expression)}
string-expression
- 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR
或 VARCHAR
)。LENGTH
返回 INTEGER
数据类型。
LENGTH
返回一个整数,表示给定字符串表达式的字符数,而不是字节数。字符串表达式可以是字符串(从中删除尾随空格)或数字( IRIS 将其转换为规范形式)。
请注意,LENGTH
可用作 ODBC 标量函数(使用花括号语法)或 SQL 通用函数。
LENGTH
和其他长度函数($LENGTH
、CHARACTER_LENGTH
、CHAR_LENGTH
和 DATALENGTH
)都执行以下操作:
LENGTH
返回字段的逻辑(内部数据存储)值的长度,而不是显示值,无论 SelectMode
设置如何。所有 SQL 函数始终使用字段的内部存储值。LENGTH
返回数字的规范形式的长度。规范形式的数字不包括前导零和尾随零、前导符号(单个减号除外)和尾随小数分隔符。 LENGTH
返回数字字符串的字符串长度。数字字符串不会转换为规范形式。LENGTH
不排除字符串中的前导空格。可以使用 LTRIM
函数从字符串中删除前导空格。在执行以下操作时,LENGTH
与其他长度函数($LENGTH
、CHARACTER_LENGTH
、CHAR_LENGTH
和 DATALENGTH
)不同:
LENGTH
不包括尾随空格和字符串终止字符。$LENGTH
、CHARACTER_LENGTH
、CHAR_LENGTH
和 DATALENGTH
不排除尾随空格和终止符。
NULL
值,LENGTH
返回 NULL
,如果传递一个空字符串,则返回 0
。如果传递 NULL
值,CHARACTER_LENGTH
、CHAR_LENGTH
和 DATALENGTH
也返回 NULL
,如果传递空字符串,则返回 0
。如果传递一个 NULL
值,则 $LENGTH
返回 0
,如果传递一个空字符串,则返回 0
。
LENGTH
不支持数据流字段。为字符串表达式指定流字段会导致 SQLCODE -37
。$LENGTH
也不支持流字段。 CHARACTER_LENGTH
、CHAR_LENGTH
和 DATALENGTH
函数确实支持数据流字段。
在以下示例中, IRIS 首先将每个数字转换为规范形式(删除前导零和尾随零,解析前导符号,并删除尾随小数分隔符)。每个 LENGTH
返回长度为 1
:
SELECT {fn LENGTH(7.00)} AS CharCount,
{fn LENGTH(+007)} AS CharCount,
{fn LENGTH(007.)} AS CharCount,
{fn LENGTH(00000.00)} AS CharCount,
{fn LENGTH(-0)} AS CharCount
1 1 1 1 1
在以下示例中,第一个 LENGTH
删除前导零,返回长度值 2
;第二个 LENGTH
将数值视为字符串,并且不删除前导零,返回长度值 3
:
SELECT LENGTH(0.7) AS CharCount,
LENGTH('0.7') AS CharCount
2 3
以下示例返回值 12
:
SELECT LENGTH('INTERSYSTEMS') AS CharCount
12
以下示例显示了 LENGTH
如何处理前导和尾随空格。第一个 LENGTH
返回 15
,因为 LENGTH
不包括尾随空格,但不包括前导空格。第二个 LENGTH
返回 12
,因为 LTRIM
排除了前导空格:
SELECT LENGTH(' INTERSYSTEMS ') AS CharCount,
LENGTH(LTRIM(' INTERSYSTEMS ')) AS CharCount
15 12
以下示例返回 Sample.Person
表中每个 Name
值中的字符数:
SELECT Name,{fn LENGTH(Name)} AS CharCount
FROM Sample.Person
ORDER BY CharCount
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。