第二十八章 SQL函数 CHAR_LENGTH
第二十八章 SQL函数 CHAR_LENGTH
返回表达式中的字符数的函数。
大纲
CHAR_LENGTH(expression)
参数
expression
- 表达式,可以是列名、字符串文字或另一个标量函数的结果。底层数据类型可以是字符类型(如CHAR
或VARCHAR
)、数字或数据流。
CHAR_LENGTH
返回整数数据类型。
描述
CHAR_LENGTH
返回一个整数值,表示指定表达式中的字符数,而不是字节数。表达式可以是字符串,也可以是任何其他数据类型,如数字或数据流字段。返回的整数计数包括前导和尾随空格以及字符串终止字符。如果传递NULL
值,则CHARACTER_LENGTH
返回NULL
,如果传递空字符串(‘’
)值,则返回0。
在计算字符之前,会将数字解析为规范形式;不会解析带引号的数字字符串。在下面的示例中,第一个CHAR_LENGTH
返回1
(因为数字分析删除了前导和尾随零),第二个CHAR_LENGTH
返回8
。
SELECT CHAR_LENGTH(007.0000) AS NumLen,
CHAR_LENGTH('007.0000') AS NumStringLen
1 8
注意:CHAR_LENGTH
、CHARACTER_LENGTH
和DATALENGTH
函数是相同的。
它们都接受一个流字段参数。
LENGTH
和$LENGTH
函数不接受流字段参数。
LENGTH
与这些函数的不同之处在于,在计算字符之前会去掉尾随空格和字符串终止字符。
$LENGTH
也不同于这些函数,因为如果传入一个NULL
值,它返回0,如果传入一个空字符串,则返回0。
$LENGTH
与其他长度函数的不同之处是返回数据类型SMALLINT
;
所有其他长度函数返回的数据类型为INTEGER
。
示例
下面的示例返回Sample.Employee
中状态缩写字段(Home_State
)中的字符数。
(美国各州都有两个字母的邮政缩写):
SELECT DISTINCT CHAR_LENGTH(Home_State) AS StateLength
FROM Sample.Employee
下面的例子返回员工的名字和每个员工名字中的字符数,按字符数升序排列:
SELECT Name,
CHAR_LENGTH(Name) AS NameLength
FROM Sample.Employee
ORDER BY NameLength
以下示例返回Sample.Employee
表中的字符流字段(Notes
)和二进制流字段(Picture
)中的字符数:
SELECT DISTINCT CHAR_LENGTH(Notes) AS NoteLen
FROM Sample.Employee WHERE Notes IS NOT NULL
SELECT DISTINCT CHAR_LENGTH(Picture) AS PicLen
FROM Sample.Employee WHERE Picture IS NOT NULL
下面的嵌入式SQL示例显示CHAR_LENGTH
如何处理Unicode
字符。CHAR_LENGTH
计算字符数,而不考虑其字节长度:
SET a=$CHAR(960)_"FACE"
WRITE !,a
&sql(SELECT CHAR_LENGTH(:a) INTO :b)
IF SQLCODE'=0 {WRITE !,"Error code ",SQLCODE }
ELSE {WRITE !,"The CHAR length is ",b }
5
相关文章
- 【SQL 学习】函数之DECODE()
- 将Sql Server迁移到Always on集群 - 账号的同步
- SQL编程之MySQL常用函数
- Spark sql -- Spark sql中的窗口函数和对应的api
- 低效率的sql语句
- sql中char(9) char(10) char(13)分别代表哪个字符
- Database之SQLSever:SQL函数(字符串函数、数学函数、文本和图像函数、日期和时间函数、系统函数等)相关概念及其相关案例之详细攻略
- Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份、差异备份、日志备份)、还原、删除、修改数据库等案例)之详细攻略
- 在 SQL 中用 CONVERT() 函数将日期转换为字符串
- [0] 数据库监测SQL Server Profiler
- sql 中的导航函数 FIRST_VALUE, LAST_VALUE
- sql 精读(一)标准 SQL 中的分析函数概念
- SQL——Sql_Server中如何判断表中某字段、判断表、判断存储过程以及判断函数是否存在
- SQL Server CONVERT() 函数
- SQL MIN() 函数
- 批量更新sql
- [SQL] 利用函数(Function)判断输入的数是不是质数