2024年ClickHouse常用转换函数整理_clickhouse字符串转数字(2),Golang开发避坑指南

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

| toSecond() | 取时间日期的秒 | toSecond(toDateTime(‘2018-12-11 11:12:13’)) | 返回 13 |
| toMonday() | 取时间日期最近的周一(返回日期) | toMonday(toDate(‘2018-12-11’)) toMonday(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-10返回 2018-12-10 |
| toTime() | 将时间日期的日期固定到某一天,保留原始时间 | toTime(toDateTime(‘2018-12-11 11:12:13’)) | 返回 1970-01-02 11:12:13 |

1.2 时间或日期截取函数(toStartOf)—— 返回日期
函数用途举例结果
toStartOfMonth()取日期或时间日期的月份的第一天,返回日期toStartOfMonth(toDateTime(‘2018-12-11 11:12:13’))toStartOfMonth(toDate(‘2018-12-11’))返回 2018-12-01返回 2018-12-01
toStartOfQuarter()取日期或时间日期的季度的第一天,返回日期toStartOfQuarter(toDateTime(‘2018-12-11 11:12:13’))toStartOfQuarter(toDate(‘2018-12-11’))返回 2018-10-01返回 2018-10-01
toStartOfYear()取日期或时间日期的年份的第一天,返回日期toStartOfYear(toDateTime(‘2018-12-11 11:12:13’))toStartOfYear(toDate(‘2018-12-11’))返回 2018-01-01返回 2018-01-01
toStartOfMinute()截取时间日期到分钟(之后归零),返回日期toStartOfMinute(toDateTime(‘2018-12-11 11:12:13’))返回 2018-12-11 11:12:00
toStartOfFiveMinute()截取时间日期到最近的5的倍数分钟(之后归零),返回日期toStartOfFiveMinute(toDateTime(‘2018-12-11 11:12:13’))返回 2018-12-11 11:10:00
toStartOfFifteenMinutes()截取时间日期到最近的15的倍数分钟(之后归零),返回日期toStartOfFifteenMinutes(toDateTime(‘2018-12-11 11:12:13’))返回 2018-12-11 11:00:00
toStartOfHour()截取时间日期到小时(之后归零),返回日期toStartOfHour(toDateTime(‘2018-12-11 11:12:13’))返回 2018-12-11 11:00:00
toStartOfDay()截取时间日期到天(之后归零),返回日期toStartOfDay(toDateTime(‘2018-12-11 11:12:13’))返回 2018-12-11 00:00:00
timeSlot()将时间日期中,分钟大于等于30的归于30,分钟数小于30的归为00timeSlot(toDateTime(‘2018-12-11 11:33:13’))timeSlot(toDateTime(‘2018-12-11 11:33:13’))返回 2018-12-11 11:00:00返回 2018-12-11 11:30:00
1.3 日期或时间日期生成函数
函数用途举例结果
now()生成当前时间日期now()返回 2018-12-13 10:10:12
today()生成今天的日期today()返回 2018-12-13
yesterday()生成昨天的日期yesterday()返回 2018-12-12

2、类型转化类函数

2.1 精度保留(非四舍五入)
函数用途举例结果
toDecimal32(‘whdwjfew’,8)将数值型或者含有非数字的字符串进行精度保留toDecimal32(23.12291, 3)toDecimal32(’_23.12291’, 3)返回 23.122返回 0.000
toDecimal64(‘whdwjfew’,8)将数值型或者含有非数字的字符串进行精度保留toDecimal64(23.12291, 3)toDecimal64(’_23.12291’, 3)返回 23.122返回 0.000
toDecimal128(‘whdwjfew’,8)将数值型或者含有非数字的字符串进行精度保留toDecimal128(23.12291, 3)toDecimal128(’_23.12291’, 3)返回 23.122返回 0.000
2.2 字符串转化为整数(非整数的字符串返回0)
函数用途举例结果
toUInt8OrZero()将无符号整数字符型转化为整数型,否则返回0toUInt8OrZero(‘123’)toUInt8OrZero(‘123.12’)返回 123返回 0
toInt8OrZero()将整数字符型转化为整数型,否则返回0toInt8OrZero(‘123’)toInt8OrZero(’-123’)返回 123返回 -123
toFloat32OrZero()将数值字符串型转化为数值型,注意:从toFloat32OrZero开始,丢32的没有对应的函数toFloat32OrZero(‘-123’)toFloat32OrZero(‘123.123’)返回 -123返回 123.123
2.3 日期与时间日期转化
函数用途举例结果
toDate()将字符型日期转化为日期型toDate(‘2018-12-24’)返回 2018-12-24
toDateTime()将字符型时间日期转化为时间日期型toDateTime(‘2018-12-24 10:10:00’)返回 2018-12-24 10:10:00
2.4 转化为字符型
函数用途举例结果
toString()将数值型、字符型、日期等转化为字符型toString(‘2018-12-24’)toString(‘123’)返回 2018-12-24返回 123
2.5 查看数据类型
函数用途举例结果
toTypeName()返回数据的类型toTypeName(toString(‘123’))toTypeName(toDate(‘2018-12-24’))返回 String返回 Date

3、字符串操作

3.1 基本字符串操作
函数用途举例结果
empty()判断字符串是空为1,否则为0empty(’’)empty(‘123a’)返回 1返回 0
notEmpty()判断字符串是非空为1,否则为0notEmpty(’’)notEmpty(‘123a’)返回 0返回 1
length()返回字符串的长度length(’’)length(‘123a’)返回 0返回 4
lower()将字符串转为小写lower(‘aBc’)返回 abc
upper()将字符串转为大写upper(‘aBc’)返回 ABC
reverse()将字符串反转reverse(‘abc’)返回 cba
substring(s, offset, length)字符串截取substring(‘123abcABC’, 2, 3)返回 23a
appendTrailingCharIfAbsent(s, c)如果字符串s非空,则将s后追加一个字符c(s最后一个字符与c不同),否则不处理appendTrailingCharIfAbsent(‘123abc’, ‘b’)appendTrailingCharIfAbsent(‘123abc’, ‘c’)返回 123abcb返回 123abc
3.2 字符串查找
函数用途举例结果
match(haystack,pattern)字符串正则匹配,返回0或1match(‘avhsca’,'vh’)返回 1
extract(haystack,pattern)返回匹配到的第一个子串extract(‘iioomAj12123124OOBJB’, ‘\d+’)返回 12123124
extractAll(haystack,pattern)返回匹配到的所有子串,输出列表extractAll(‘iioomAj12123124OOBJ123B’, ‘\d+’)返回 [12123124,123]
like(haystack,pattern)匹配到的数据返回1,否则返回0like(‘avhsca’,’%vh%’)like(‘avhsca’,’%vabjh%’)返回 1返回 0
notLike(haystack, pattern)与like()函数相反notLike(‘avhsca’,’%vh%’)notLike(‘avhsca’,’%vabjh%’)返回 0返回 1
3.3 字符串替换
函数用途举例结果
replaceOne(haystack,pattern,replacement)替换第一个匹配到的patternreplaceOne(‘asd123cbbj464sd’, ‘sd’, ‘-’)返回 a-123cbbj464sd
replaceAll(haystack,pattern,replacement)替换所有匹配到的patternreplaceOne(‘asd123cbbj464sd’, ‘sd’, ‘-’)返回 a-123cbbj464-
replaceRegexpOne(haystack, pattern, replacement)正则匹配替换第一个匹配到的patternreplaceRegexpOne(‘Hello, World!’, ‘o’, '- ')返回 Hell- , World!
replaceRegexpAll(haystack,pattern,replacement)正则匹配替换所有匹配到的patternreplaceRegexpAll(‘Hello, World!’, ‘^’, 'here: ')replaceRegexpAll(‘Hello, World!’, ‘o’, '-- ')返回 here: Hello, World!返回 Hell-- , W-- rld!
3.4 字符串分割
函数用途举例结果
splitByChar(separator, s)以单个字符分割字符串splitByChar(’-’, ‘qw-asaf-asfqw-2312-asd’)返回 [‘qw’,‘asaf’,‘asfqw’,‘2312’,‘asd’]
splitByString(separator, s)以单个或多个字符分割字符串splitByString(’-’, ‘qw-asaf-asfqw-2312-asd’)splitByString(’-a’, ‘qw-asaf-asfqw-2312-asd’)返回 [‘qw’,‘asaf’,‘asfqw’,‘2312’,‘asd’]返回 [‘qw’,‘saf’,‘sfqw-2312’,‘sd’]
3.5 字符串拼接
函数用途举例结果
concat(s1,s2,…)将字符串拼接concat(‘123’, ‘abc’, ‘ABC’)返回 123abcABC

4、条件语句

函数用途举例结果
if(cond,then,else)条件输出if(1 > 2, ‘正确’, ‘错误’)返回 错误
multiIf(cond_1, then_1, cond_2, then_2…else)多条件输出multiIf(1 > 2, ‘正确’, 2 < 0, ‘正确’, ‘错误’)返回 错误

5、数学函数

函数用途举例结果
e()返回e的值e()返回 2.718281828459045
pi()返回pi的值pi()返回 3.141592653589793

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值