clickHouse数据库函数的使用

下面来说一说字符串的相关操作。

empty:检测一个字符串是否为空,为空返回 1,不为空返回 0

notEmpty:检测一个字符串是否不为空,不为空返回 1,为空返回 0

SELECT empty(''), empty('satori');
/*
┌─empty('')─┬─empty('satori')─┐
│                 1 │               0             │
└─────── ┴─────────  ──┘
*/

SELECT notEmpty(''), notEmpty('satori');
/*
┌─notEmpty('')─┬─notEmpty('satori')─┐
│            0            │                  1                │
└──────────┴──────────────┘
*/

 

length:计算一个字符串占多少个字节

char_length:计算一个字符串占多少个字符

WITH 'satori' AS s1, '古明地觉' AS s2
SELECT length(s1), length(s2), char_length(s1), char_length(s2)
/*
┌─length(s1)─┬─length(s2)─┬─CHAR_LENGTH(s1)─┬─CHAR_LENGTH(s2)─┐
│          6          │         12        │               6                      │               4                     │
└───── ───┴────────┴─────────────── ┴────────────  ──┘
*/

 

toString:将整型、日期转成字符串

SELECT toString(3), cast(3 AS String);
/*
┌─toString(3)─┬─CAST(3, 'String')─┐
│ 3                     │ 3                               │
└─────────┴─────────────┘
*/

除了使用 cast 之外,每种数据类型都内置了相应的转换函数,格式为 to + 类型,比如 toInt8、toUInt32、toFloat64、toDecimal64 等等

lower、lcase:字符串转小写

upper、ucase:字符串转大写

SELECT lower('SAtoRI'), upper('SAtoRI');
/*
┌─lower('SAtoRI')─┬─upper('SAtoRI')─┐
│ satori                    │ SATORI                  │
└────────────┴──────────── ┘
*/

 

repeat:将字符串重复 n 次

SELECT repeat('abc', 3);
/*
┌─repeat('abc', 3)─┐
│ abcabcabc           │
└────────── ─ ┘
*/

reverse:将字符串翻转

SELECT reverse('satori');
/*
┌─reverse('satori')─┐
│  irotas                     │
└─────────── ─┘
*/

注意:reverse 是按照字节翻转的,这意味着它不能用在中文上面,如果想翻转中文,那么要使用 reverseUTF8,可以试一下。

format:格式化字符串

SELECT format('{}--{}', 'hello', 'world');
/*
┌─format('{}--{}', 'hello', 'world')─┐
│ hello--world                                 │
└─────────────────────┘
*/

-- {} 的数量和格式化的字符串数量要匹配,当然下面这种情况例外
SELECT format('{0}--{1}--{0}', 'hello', 'world');
/*
┌─format('{0}--{1}--{0}', 'hello', 'world')─┐
│            hello--world--hello                       │
└────────────────────  ─────┘
*/

 

concat:拼接字符串

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值