Clickhouse 字符串函数 - 2

reverse

反转字符串。

reverseUTF8

以Unicode字符为单位反转UTF-8编码的字符串。如果字符串不是UTF-8编码,则可能获取到一个非预期的结果(不会抛出异常)。

format(pattern, s0, s1, ...)

使用常量字符串pattern格式化其他参数。pattern字符串中包含由大括号{}包围的<<替换字段>>。 未被包含在大括号中的任何内容都被视为文本内容,它将原样保留在返回值中。 如果你需要在文本内容中包含一个大括号字符,它可以通过加倍来转义:{``{ '{``{' }}{``{ '{``{' }} '}}' }}。 字段名称可以是数字(从零开始)或空(然后将它们视为连续数字)

SELECT format('{1} {0} {1}', 'World', 'Hello')

┌─format('{1} {0} {1}', 'World', 'Hello')─┐
│ Hello World Hello                       │
└─────────────────────────────────────────┘

SELECT format('{} {}', 'Hello', 'World')

┌─format('{} {}', 'Hello', 'World')─┐
│ Hello World                       │
└───────────────────────────────────┘

concat(s1, s2, ...)

将参数中的多个字符串拼接,不带分隔符。

concatAssumeInjective(s1, s2, ...)

concat相同,区别在于,你需要保证concat(s1, s2, s3) -> s4是单射的,它将用于GROUP BY的优化。

substring(s,offset,length),mid(s,offset,length),substr(s,offset,length)

以字节为单位截取指定位置字符串,返回以'offset'位置为开头,长度为'length'的子串。'offset'从1开始(与标准SQL相同)。'offset'和'length'参数必须是常量。

substringUTF8(s,offset,length)

与'substring'相同,但其操作单位为Unicode字符,函数假设字符串是以UTF-8进行编码的文本。如果不是则可能返回一个预期外的结果(不会抛出异常)。

appendTrailingCharIfAbsent(s,c)

如果's'字符串非空并且末尾不包含'c'字符,则将'c'字符附加到末尾。

convertCharset(s,from,to)

返回从'from'中的编码转换为'to'中的编码的字符串's'。

base64Encode(s)

将字符串's'编码成base64

base64Decode(s)

使用base64将字符串解码成原始字符串。如果失败则抛出异常。

tryBase64Decode(s)

使用base64将字符串解码成原始字符串。但如果出现错误,将返回空字符串。

endsWith(s,后缀)

返回是否以指定的后缀结尾。如果字符串以指定的后缀结束,则返回1,否则返回0。

startsWith(s,前缀)

返回是否以指定的前缀开头。如果字符串以指定的前缀开头,则返回1,否则返回0。

trimLeft(s)

返回一个字符串,用于删除左侧的空白字符。

trimRight(s)

返回一个字符串,用于删除右侧的空白字符。

trimBoth(s)

返回一个字符串,用于删除任一侧的空白字符。

soundex(s)

返回一个字符串的soundex值。输出类型是FixedString,示例如下:

select soundex('aksql');

┌─soundex('aksel')─┐
│ A240             │
└──────────────────┘
相关推荐
秋野酱1 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
weisian1512 小时前
Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
数据库·mysql
AI航海家(Ethan)2 小时前
PostgreSQL数据库的运行机制和架构体系
数据库·postgresql·架构
Bunny02122 小时前
SpringMVC笔记
java·redis·笔记
Kendra9195 小时前
数据库(MySQL)
数据库·mysql
时光书签6 小时前
Mongodb副本集群为什么选择3个节点不选择4个节点
数据库·mongodb·nosql
人才程序员7 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯7 小时前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术8 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱8 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite