Clickhouse 字符串函数使用总结—— Clickhouse基础篇(七)

文章目录

    • 判空
    • 非空判断
    • 字符串长度
    • 左补齐字符串
    • 右补齐字符串
    • 字符串转小写
    • 字符串转大写
    • 重复字符串
    • 拼接字符串函数
    • 计算子串
    • base64编码
    • base64解码
    • 判断开头字符串
    • 判断结尾字符串
    • 删除空白字符
    • 从HTML提取纯文本
    • 字符串部分替换
    • 字符串全部替换
    • 字符串正则部分替换
    • 字符串正则全部替换
    • 计算子串下标
    • 正则匹配
    • 模糊匹配
    • 正则匹配次数

判空

SELECTempty('') AS res1,empty('a') AS res2Query id: 9aae1f36-5acb-4dbf-93a9-efe4a6d0a671┌─res1─┬─res2─┐
│    10 │
└──────┴──────┘

非空判断

SELECTnotEmpty('') AS res1,notEmpty('a') AS res2Query id: 140a6942-c36e-48dc-8fa7-7699f67386e4┌─res1─┬─res2─┐
│    01 │
└──────┴──────┘

字符串长度

SELECTlength('') AS res1,length('abc') AS res2,length(NULL) AS res3Query id: e8454e1c-3307-4295-81fc-4d5dd846fb7e┌─res1─┬─res2─┬─res3─┐
│    03 │ ᴺᵁᴸᴸ │
└──────┴──────┴──────┘

左补齐字符串

将字符串 10 用字符串 s 补齐至7位,

SELECT leftPad('10', 7, 's') AS res1Query id: ae7bfd49-bb75-4b0b-a4af-061182ac598d┌─res1────┐
│ sssss10 │
└─────────┘

右补齐字符串

SELECT rightPad('10', 7, 's') AS res1Query id: ae7bfd49-bb75-4b0b-a4af-061182ac598d┌─res1────┐
│ 10sssss │
└─────────┘

字符串转小写

SELECT lower('aBC') AS resQuery id: c41b8753-edcf-4984-816c-ee70febc0b64┌─res─┐
│ abc │
└─────┘

字符串转大写

SELECT upper('abc') AS resQuery id: c41b8753-edcf-4984-816c-ee70febc0b64┌─res─┐
│ ABC │
└─────┘

重复字符串

SELECT repeat('abc', 3) AS resQuery id: 0f519227-cda4-49e1-a003-ede5862c5a3a┌─res───────┐
│ abcabcabc │
└───────────┘

拼接字符串函数

SELECT concat('HELLO', ',', 'World!') AS resQuery id: 33fade2d-7b20-4da9-8b1c-4ffb40bdb3dd┌─res──────────┐
│ HELLO,World! │
└──────────────┘

计算子串

SELECT'abcdef' AS s,substring(s, 1, 3) AS resQuery id: 7e36fc5d-b054-40c1-b2a5-84bb88c1f8db┌─s──────┬─res─┐
│ abcdef │ abc │
└────────┴─────┘

base64编码

SELECT base64Encode('123456') AS resQuery id: 106b426e-eea5-45af-aca5-0bb6243cfa80┌─res──────┐
│ MTIzNDU2 │
└──────────┘

base64解码

SELECT base64Decode('MTIzNDU2') AS res;Query id: 106b426e-eea5-45af-aca5-0bb6243cfa80┌─res──────┐
│ 123456   │
└──────────┘

判断开头字符串

SELECT startsWith('abc', 'a') AS resQuery id: 64b2af5f-a4c4-440a-a019-64675554e060┌─res─┐
│   1 │
└─────┘

判断结尾字符串

SELECT startsWith('abc', 'a') AS resQuery id: 64b2af5f-a4c4-440a-a019-64675554e060┌─res─┐
│   0 │
└─────┘

删除空白字符

SELECT trimBoth('   a bc  ') AS resQuery id: 074bfb13-6211-47b0-964f-c9c3005a6110┌─res──┐
│ a bc │
└──────┘

从HTML提取纯文本

SELECT extractTextFromHTML('<a>text</a>') AS resQuery id: 7389e44a-5726-4216-8987-9105c32a1b30┌─res──┐
│ text │
└──────┘

字符串部分替换

SELECT replaceOne('abc****defg****', '*', '$') AS resQuery id: 6e9cdca9-9b37-4824-ab3a-0d712d8d81aa┌─res─────────────┐
│ abc$***defg**** │
└─────────────────┘

字符串全部替换

SELECT replaceAll('abc****defg****', '*', '$') AS resQuery id: 442b28c2-dae8-4de8-9738-f41241632255┌─res─────────────┐
│ abc$$$$defg$$$$ │
└─────────────────┘

字符串正则部分替换

SELECT replaceRegexpOne('abc123de09', '(\\d)', '$') AS resQuery id: 7409ff71-48f2-4fc5-b752-93cd80a16e34┌─res────────┐
│ abc$23de09 │
└────────────┘

字符串正则全部替换

SELECT replaceRegexpAll('abc123de09', '(\\d)', '$') AS resQuery id: 7409ff71-48f2-4fc5-b752-93cd80a16e34┌─res────────┐
│ abc$$$de$$ │
└────────────┘

计算子串下标

SELECT position('123456789', '7') AS resQuery id: 84ed92af-bb3c-45bf-8800-c0c84ac3d91f┌─res─┐
│   7 │
└─────┘

正则匹配

SELECT match('abcccddd', '(^abc)') AS resQuery id: cc18551b-9a46-4554-83ff-fb3764e5a033┌─res─┐
│   1 │
└─────┘

模糊匹配

SELECT'abc' LIKE 'a%' AS res1,'12345' LIKE '__3__' AS res2Query id: 54992c14-41e5-4145-9edd-ad26af67110d┌─res1─┬─res2─┐
│    11 │
└──────┴──────┘

正则匹配次数

SELECTcountMatches('foobar.com', 'o+') AS res1,countMatches('aaaa', 'aa') AS res2Query id: d245a3d8-f8bd-446d-aeca-0f54184ed24e┌─res1─┬─res2─┐
│    22 │
└──────┴──────┘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 与 OpenJ9 的 Docker 集成:提升 Java 应用性能的新选择

## 引言 随着 Docker 的普及&#xff0c;越来越多的开发者开始使用 Docker 来部署和管理他们的应用。在这种趋势下&#xff0c;将 Spring Boot 与 OpenJ9 结合使用&#xff0c;可以为 Java 应用带来更高的性能和更低的资源占用。本文将介绍如何在 Docker 环境中使用 Spring Bo…

回顾封装、继承和多态的概念,并给出相关示例

封装、继承和多态是面向对象编程&#xff08;OOP&#xff09;的三个核心概念。下面我将分别解释这些概念&#xff0c;并给出相应的示例。 封装 概念&#xff1a;封装是将数据&#xff08;变量&#xff09;和操作数据的方法&#xff08;函数&#xff09;组合到一个类中&#x…

pytest断言与Selenium模拟操作的规划案例

pytest断言与Selenium模拟操作的规划案例 在使用pytest进行自动化测试时&#xff0c;断言是验证测试结果是否符合预期的关键步骤。pytest提供了简洁的断言语法&#xff0c;使得编写测试用例更加直观和易于维护。以下是一个简单的规划案例&#xff0c;展示了如何在pytest中使用…

202309青少年软件编程(Python)等级考试试卷(四级)

第 1 题 【单选题】 用枚举算法求解“100 以内既能被 3 整除又能被 4 整除的元素”时, 在下列数值范围内,算法执行效率最高的是? ( ) A :1~101 B :4~100 C :12~100 D :12~96 正确答案:D 试题解析: 在选取循环控制变量时, 枚举范围应尽可能小, 但又不能遗漏。 第 …

掌握Python循环:从基础到应用的完整指南

循环语句是编程中常用的一种结构&#xff0c;用于重复执行特定的代码块。Python3 提供了几种类型的循环语句&#xff0c;包括for循环和while循环。接下来&#xff0c;我会详细解释循环语句的基本语法、常用命令、示例、应用场景、注意事项和总结。 基本语法 for 循环 for 变…

什么是勒索软件

什么是勒索软件 勒索软件又称勒索病毒&#xff0c;是一种特殊的恶意软件&#xff0c;又被归类为“阻断访问式攻击”&#xff08;denial-of-access attack&#xff09;&#xff0c;与其他病毒最大的不同在于攻击手法以及中毒方式。勒索软件的攻击方式是将受害者的电脑锁起来或者…

mysql-增量备份流程详细流程

3.增量备份流程 原理&#xff1a;每次备份上一次备份到现在产生的新数据 1.在数据库上面创建一个测试的库 增量备份流程&#xff08;重要) 增量备份跟上一次相比 我增加了啥--incremental //放到何处 --incremental-basedir //上一级//第一次增量备份 innobackupex --user…

Spring Boot中如何查询PGSQL分表后的数据

数据库用的pgsql&#xff0c;在表数据超过100w条的时候执行定时任务进行了分表&#xff0c;分表后表名命名为原的表名后面拼接时间&#xff0c;如原表名是card_device_trajectory_info&#xff0c;分表后拼接时间后得到card_device_trajectory_info_20240503&#xff0c;然后分…

ubuntu使用oh my zsh美化终端

ubuntu使用oh my zsh美化终端 文章目录 ubuntu使用oh my zsh美化终端1. 安装zsh和oh my zsh2. 修改zsh主题3. 安装zsh插件4. 将.bashrc移植到.zshrcReference 1. 安装zsh和oh my zsh 首先安装zsh sudo apt install zsh然后查看本地有哪些shell可以使用 cat /etc/shells 将默…

使用nexus搭建的nodejs私库,定期清理无用的npm组件,彻底释放磁盘空间

一、背景 昨天我们整理了一篇关于docker私库&#xff0c;如何定期清理以释放磁盘空间的文章。 虽然也提及了npm前端应用的组件该如何定期清理的&#xff0c;本文是对它作一个补充说明。 前文也看到了&#xff0c;npm组件占用的blob空间为180多GB&#xff0c;急需清理。 二、…

Flutter 中的 MouseRegion 小部件:全面指南

Flutter 中的 MouseRegion 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;MouseRegion 是一个非常有用的小部件&#xff0c;它允许你为部件添加鼠标事件&#xff08;如点击、悬停、离开等&#xff09;。这在开发需要处理鼠标交互的应用时尤为重要。本文将详细介绍 Mou…

100个 Unity小游戏系列三 -Unity 抽奖游戏专题一 转盘抽奖游戏

一 、效果展示 二、知识点 2.1 布局需要实现功能 1、转动的根目录为itemSpinRoot 2、创建对应的item 3、每个item转动的角度 2.2 代码 public class WheelDialog : UIBase{[SerializeField] Button btnClick;[SerializeField] Button btnClose;[SerializeField] Sprite[] ite…

微信小程序(路由传参)

微信小程序的路由系统和其他Web应用类似&#xff0c;主要通过页面路径和URL参数进行页面导航和数据传递。下面详细介绍微信小程序路由的基本使用方法和相关技巧。 1. 基本页面导航 1.1 配置页面路径 在微信小程序的 app.json 文件中&#xff0c;需要配置小程序的页面路径。这…

哪有异地组网的工具?

不同地区的电脑与电脑、设备与设备、电脑与设备之间的信息远程通信&#xff0c;一直是企业和个人面临的难题。通过使用天联组网的解决方案&#xff0c;这个问题将迎刃而解。 天联组网解决方案 天联组网是一种可以实现不同地区之间电脑、设备及其之间的信息远程通信的解决方案。…

Trie字符串统计-java

Trie&#xff0c;又称前缀树或字典树&#xff0c;是一种有序树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是字符串。 目录 前言☀ 一、Trie字符串统计☀ 二、算法思路☀ 1.Trie树定义&#x1f319; 2.变量解释&#x1f319; 3.插入操作&#x1f319; 4.Trie树查找操…

vim文本编辑器相关用法

1. 引言 Vim&#xff0c;一个功能强大的文本编辑器&#xff0c;它在程序员和系统管理员中广受欢迎。Vim是Vi的增强版&#xff0c;提供了一系列高级功能&#xff0c;包括语法高亮、代码补全、多窗口编辑等。 2. Vim的安装 Vim的安装过程在不同的Linux发行版中略有不同。以下是…

MapStruct高级用法

MapStruct高级用法 依赖注入&#xff08;Using dependency injection&#xff09; Mapper(componentModel SPRING) public interface SpringMapper {SpringMapper MAPPER Mappers.getMapper(SpringMapper.class);PersonDTO personDoToDTO(Person person); }public static fin…

【class18】人工智能初步----语音识别(4)

【class17】 上节课&#xff0c;我们学习了: 语音端点检测的相关概念&#xff0c;并通过代码切分和保存了音频。 本节课&#xff0c;我们将学习这些知识点&#xff1a;1. 序列到序列模型2. 循环神经网络3. 调用短语音识别接口 知其然&#xff0c;知其所以然 在调用语…

数组单调栈-901. 股票价格跨度、leetcode

单调栈作为一种数据结构在求解类递增、递减方面的题目中有较为广泛的应用&#xff0c;在以往的leetcode中所见到的相关单调栈的题目均为单一元素&#xff0c;今天刷到901题目时&#xff0c;想到了将数组元素作为单调栈中元素的方法进行求解。 题目链接及描述 901. 股票价格跨…

【c++leetcode】69. Sqrt(x)

问题入口 二分搜索 最困难的是能否意识到用二分搜索法解题。 算术平方根的区间在[1, x] 。代码如下&#xff1a; class Solution { public:int mySqrt(int x) {if (x 1 || x 0){return x;}int64_t start 1;int64_t end x;while (start < x){int64_t mid start (en…