前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL函数 LENGTH

SQL函数 LENGTH

作者头像
用户7741497
发布2022-04-08 13:49:46
2K0
发布2022-04-08 13:49:46
举报
文章被收录于专栏:hml_知识记录

SQL函数 LENGTH

返回字符串表达式中字符数的字符串函数。

大纲

代码语言:javascript
复制
LENGTH(string-expression)

{fn LENGTH(string-expression)}

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

LENGTH 返回 INTEGER 数据类型。

描述

LENGTH 返回一个整数,表示给定字符串表达式的字符数,而不是字节数。字符串表达式可以是字符串(从中删除尾随空格)或数字( IRIS 将其转换为规范形式)。

请注意,LENGTH 可用作 ODBC 标量函数(使用花括号语法)或 SQL 通用函数。

LENGTH 和其他长度函数($LENGTHCHARACTER_LENGTHCHAR_LENGTHDATALENGTH)都执行以下操作:

  • LENGTH 返回字段的逻辑(内部数据存储)值的长度,而不是显示值,无论 SelectMode 设置如何。所有 SQL 函数始终使用字段的内部存储值。
  • LENGTH 返回数字的规范形式的长度。规范形式的数字不包括前导零和尾随零、前导符号(单个减号除外)和尾随小数分隔符。 LENGTH 返回数字字符串的字符串长度。数字字符串不会转换为规范形式。
  • LENGTH 不排除字符串中的前导空格。可以使用 LTRIM 函数从字符串中删除前导空格。

在执行以下操作时,LENGTH 与其他长度函数($LENGTHCHARACTER_LENGTHCHAR_LENGTHDATALENGTH)不同:

  • LENGTH 不包括尾随空格和字符串终止字符。

$LENGTHCHARACTER_LENGTHCHAR_LENGTHDATALENGTH 不排除尾随空格和终止符。

  • 如果传递一个 NULL 值,LENGTH 返回 NULL,如果传递一个空字符串,则返回 0

如果传递 NULL 值,CHARACTER_LENGTHCHAR_LENGTHDATALENGTH 也返回 NULL,如果传递空字符串,则返回 0。如果传递一个 NULL 值,则 $LENGTH 返回 0,如果传递一个空字符串,则返回 0

  • LENGTH 不支持数据流字段。为字符串表达式指定流字段会导致 SQLCODE -37

$LENGTH 也不支持流字段。 CHARACTER_LENGTHCHAR_LENGTHDATALENGTH 函数确实支持数据流字段。

示例

在以下示例中, IRIS 首先将每个数字转换为规范形式(删除前导零和尾随零,解析前导符号,并删除尾随小数分隔符)。每个 LENGTH 返回长度为 1

代码语言:javascript
复制
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

代码语言:javascript
复制
SELECT LENGTH(0.7) AS CharCount,
       LENGTH('0.7') AS CharCount
       
2   3

以下示例返回值 12

代码语言:javascript
复制
SELECT LENGTH('INTERSYSTEMS') AS CharCount


12

以下示例显示了 LENGTH 如何处理前导和尾随空格。第一个 LENGTH返回 15,因为 LENGTH 不包括尾随空格,但不包括前导空格。第二个 LENGTH 返回 12,因为 LTRIM 排除了前导空格:

代码语言:javascript
复制
SELECT LENGTH('   INTERSYSTEMS      ') AS CharCount,
       LENGTH(LTRIM('   INTERSYSTEMS      ')) AS CharCount
       
15  12

以下示例返回 Sample.Person 表中每个 Name 值中的字符数:

代码语言:javascript
复制
SELECT Name,{fn LENGTH(Name)} AS CharCount
FROM Sample.Person
ORDER BY CharCount

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL函数 LENGTH
  • 大纲
  • 参数
  • 描述
  • 示例
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档