TDengine函数大全-字符串函数

以下内容来自 TDengine 官方文档 及
GitHub 内容 。

以下所有示例基于 TDengine 3.1.0.3

TDengine函数大全

1.数学函数
2.字符串函数
3.转换函数
4.时间和日期函数
5.聚合函数
6.选择函数
7.时序数据库特有函数
8.系统函数

字符串函数

    • TDengine函数大全
        • CHAR_LENGTH
        • CONCAT
        • CONCAT_WS
        • LENGTH
        • LOWER
        • LTRIM
        • RTRIM
        • SUBSTR
        • UPPER

CHAR_LENGTH

CHAR_LENGTH(expr)

功能说明:以字符计数的字符串长度。

返回结果类型:BIGINT。

适用数据类型:VARCHAR(BINARY), NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:
写入测试数据

> create table t2(ts timestamp,v1 nchar(100),v2 binary(100));
> insert into t2 values(now,'1234567890','1234567890');
> insert into t2 values(now,'abcdefghijklmnopq','abcdefghijklmnopq');
> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |
> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |> select ts,char_length(v1),char_length(v2) from t2;ts            |    char_length(v1)    |    char_length(v2)    |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    10 |2023-08-30 16:51:13.694 |                    17 |                    17 |> select ts,char_length(v1),char_length(v2) from (select * from t2);ts            |    char_length(v1)    |    char_length(v2)    |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    10 |2023-08-30 16:51:13.694 |                    17 |                    17 |> select char_length('1234567890')  from t2 limit 1;char_length('1234567890') |
============================10 |

CONCAT

CONCAT(expr1, expr2 [, expr] ... )

功能说明:字符串连接函数。

返回结果类型:如果所有参数均为 VARCHAR 类型,则结果类型为 VARCHAR。如果参数包含NCHAR类型,则结果类型为NCHAR。如果参数包含NULL值,则输出值为NULL。

适用数据类型:VARCHAR, NCHAR。 该函数最小参数个数为2个,最大参数个数为8个。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |> select ts,concat(v1,v2) from t2;ts            |         concat(v1,v2)          |
===========================================================2023-08-30 16:50:51.997 | 12345678901234567890           |2023-08-30 16:51:13.694 | abcdefghijklmnopqabcdefghij... |> select ts,char_length(concat(v1,v2)) from t2;ts            | char_length(concat(v1,v2)) |
=======================================================2023-08-30 16:50:51.997 |                         20 |2023-08-30 16:51:13.694 |                         34 |> select ts,concat(v1,v1,v2,v2) from t2;ts            |      concat(v1,v1,v2,v2)       |
===========================================================2023-08-30 16:50:51.997 | 123456789012345678901234567... |2023-08-30 16:51:13.694 | abcdefghijklmnopqabcdefghij... |> select ts,char_length(concat(v1,v1,v2,v2)) from t2;ts            | char_length(concat(v1,v1,v2,v2)) |
=============================================================2023-08-30 16:50:51.997 |                               40 |2023-08-30 16:51:13.694 |                               68 |> select concat('CONCAT ','funcation ','test!') from t2 limit 1;concat('CONCAT ','funcation ','test!') |
=========================================CONCAT funcation test!                 |> select char_length(concat('CONCAT ','funcation ','test!')) from t2 limit 1;char_length(concat('CONCAT ','funcation ','test!')) |
======================================================22 |
>  select concat('a','b','c','d','e','f','g','h') from t2 limit 1;concat('a','b','c','d','e','f','g','h') |
==========================================abcdefgh                                |> select concat('a','b','c','d','e','f','g','h','i') from t2 limit 1;
DB error: Invalid number of parameters : concat (0.000437s)> select concat('a') from t2 limit 1;
DB error: Invalid number of parameters : concat (0.000223s)                                                  

CONCAT_WS

CONCAT_WS(separator_expr, expr1, expr2 [, expr] ...)

功能说明:带分隔符的字符串连接函数。

返回结果类型:如果所有参数均为VARCHAR类型,则结果类型为VARCHAR。如果参数包含NCHAR类型,则结果类型为NCHAR。如果参数包含NULL值,则输出值为NULL。

适用数据类型:VARCHAR, NCHAR。 该函数最小参数个数为3个,最大参数个数为9个。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |> select ts,concat_ws(',',v1,v2) from t2;ts            |      concat_ws(',',v1,v2)      |
===========================================================2023-08-30 16:50:51.997 | 1234567890,1234567890          |2023-08-30 16:51:13.694 | abcdefghijklmnopq,abcdefghi... |> select ts,concat_ws(',',v1,v2,v1,v2) from t2;ts            |   concat_ws(',',v1,v2,v1,v2)   |
===========================================================2023-08-30 16:50:51.997 | 1234567890,1234567890,12345... |2023-08-30 16:51:13.694 | abcdefghijklmnopq,abcdefghi... |> set max_binary_display_width 60;
> select ts,concat_ws(',',v1,v2,v1,v2) from t2;ts            |                  concat_ws(',',v1,v2,v1,v2)                  |
=========================================================================================2023-08-30 16:50:51.997 | 1234567890,1234567890,1234567890,1234567890                  |2023-08-30 16:51:13.694 | abcdefghijklmnopq,abcdefghijklmnopq,abcdefghijklmnopq,abc... |> select concat_ws(' ','a','b','c','d','e','f','g','h') from t2 limit 1;concat_ws(' ','a','b','c','d','e','f','g','h') |
=================================================a b c d e f g h                                |

LENGTH

LENGTH(expr)

功能说明:以字节计数的字符串长度。

返回结果类型:BIGINT。

适用数据类型:输入参数是 VARCHAR 类型或者 NCHAR 类型的字符串或者列。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> desc t2;field                   |          type          |   length    |    note    |
===============================================================================================ts                                       | TIMESTAMP              |           8 |            |v1                                       | NCHAR                  |         100 |            |v2                                       | VARCHAR                |         100 |            |> select ts,v1 from t2;ts            |                    v1                    |
=====================================================================2023-08-30 16:50:51.997 | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        |> select ts,char_length(v1),length(v1) from t2;ts            |    char_length(v1)    |      length(v1)       |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    40 |2023-08-30 16:51:13.694 |                    17 |                    68 |> select ts,v2 from t2;ts            |                    v2                    |
=====================================================================2023-08-30 16:50:51.997 | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        |> select ts,char_length(v2),length(v2) from t2;ts            |    char_length(v2)    |      length(v2)       |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    10 |2023-08-30 16:51:13.694 |                    17 |                    17 |
类型Bytes说明
BINARY自定义记录单字节字符串,建议只用于处理 ASCII 可见字符,中文等多字节字符需使用 NCHAR
NCHAR自定义记录包含多字节字符在内的字符串,如中文字符。每个 NCHAR 字符占用 4 字节的存储空间。

LOWER

LOWER(expr)

功能说明:将字符串参数值转换为全小写字母。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-30 16:50:51.997 | 1234567890                               | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        | abcdefghijklmnopq                        |2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |> select ts,lower(v1),lower(v2) from t2;ts            |                lower(v1)                 |                lower(v2)                 |
================================================================================================================2023-08-30 16:50:51.997 | 1234567890                               | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        | abcdefghijklmnopq                        |2023-08-31 08:32:41.830 | abcdefgh                                 | ijklmno                                  |> select lower('ABCDEFGHIJKLMNO') from t2 limit 1;lower('ABCDEFGHIJKLMNO') |
===========================abcdefghijklmno          |

LTRIM

LTRIM(expr)

功能说明:返回清除左侧开头空格后的字符串。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> insert into t2 values(now,' abc def gh','ABC def GH ');
> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 |  abc def gh                              | ABC def GH                               |> select ts,ltrim(v1),ltrim(v2) from t2;ts            |                ltrim(v1)                 |                ltrim(v2)                 |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 | abc def gh                               | ABC def GH                               |> select concat('|',ltrim(' abcdef '),'|') from t2 limit 1;concat('|',ltrim(' abcdef '),'|') |
====================================|abcdef |                         |

RTRIM

RTRIM(expr)

功能说明:返回清除右侧结尾空格后的字符串。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例

> insert into t2 values(now,' abc def gh','ABC def GH ');
> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 |  abc def gh                              | ABC def GH                               |> select ts,rtrim(v1),rtrim(v2) from t2;ts            |                rtrim(v1)                 |                rtrim(v2)                 |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 |  abc def gh                              | ABC def GH                               | > select concat('|',rtrim(' abcdef '),'|') from t2 limit 1;concat('|',rtrim(' abcdef '),'|') |
====================================| abcdef|                         |

SUBSTR

SUBSTR(expr, pos [,len])

功能说明:从源字符串 str 中的指定位置 pos 开始取一个长度为 len 的子串并返回。如果输入参数 len 被忽略,返回的子串包含从 pos 开始的整个字串。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。输入参数 pos 可以为正数,也可以为负数。如果 pos 是正数,表示开始位置从字符串开头正数计算。如果 pos 为负数,表示开始位置从字符串结尾倒数计算。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例

> desc t2;field                   |          type          |   length    |    note    |
===============================================================================================ts                                       | TIMESTAMP              |           8 |            |v1                                       | NCHAR                  |         100 |            |v2                                       | VARCHAR                |         100 |            |> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:49:15.674 | a1234567890                              | a1234567890                              |> select ts,substr(v1,2),substr(v1,2,2) from t2;ts            |               substr(v1,2)               |              substr(v1,2,2)              |
================================================================================================================2023-08-31 08:49:15.674 | 1234567890                               | 12                                       |> select ts,substr(v1,2),substr(v1,2,2) from (select * from t2);ts            |               substr(v1,2)               |              substr(v1,2,2)              |
================================================================================================================2023-08-31 08:49:15.674 | 1234567890                               | 12                                       |> select substr('asdfghjkl',3,1) from t2 limit 1;substr('asdfghjkl',3,1) |
==========================d                       |

UPPER

UPPER(expr)

功能说明:将字符串参数值转换为全大写字母。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:49:15.674 | a1234567890                              | a1234567890                              |2023-08-31 08:52:41.118 | abcdef                                   | Ghijk                                    |> select ts,upper(v1),upper(v2) from t2;ts            |                upper(v1)                 |                upper(v2)                 |
================================================================================================================2023-08-31 08:49:15.674 | A1234567890                              | A1234567890                              |2023-08-31 08:52:41.118 | ABCDEF                                   | GHIJK                                    |> select ts,upper(v1),upper(v2) from (select * from t2);ts            |                upper(v1)                 |                upper(v2)                 |
================================================================================================================2023-08-31 08:49:15.674 | A1234567890                              | A1234567890                              |2023-08-31 08:52:41.118 | ABCDEF                                   | GHIJK                                    |> select upper('abcDEFghi') from t2 limit 1;upper('abcDEFghi') |
=====================ABCDEFGHI          |

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

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

相关文章

结构体的简单介绍

目录 概念: 与数组类比: 结构体声明: 注意: 结构体变量、全局变量、局部变量: 结构体声明中包含其他结构体变量: 结构体变量的初始化: 包含了其他结构体变量的初始化: 结构体…

SPI2外设驱动-W25Q64 SPI接口初始化

前言 (1)本系列是基于STM32的项目笔记,内容涵盖了STM32各种外设的使用,由浅入深。 (2)小编使用的单片机是STM32F105RCT6,项目笔记基于小编的实际项目,但是博客中的内容适用于各种单片…

carbondata优化小姐

一,carbondata高效原因 carbondata文件是hdfs的列式存储格式 查询速度是spark SQL的10倍,通过多种索引技术和多次push down优化,对TB级别数据快速响应 高效的压缩,使用轻量级和和重量级压缩组合的方式,减少60~80%的空间…

【FlowDroid】一、处理流程学习

FlowDroid 一、处理流程学习 下载配置源码概况代码逻辑分析analyzeAPKFilerunInfoflowprocessEntryPointcalculateCallbacks(sourcesAndSinks)再次回到processEntryPoint 自己做一些笔记 下载配置 参照我前面的文章可以使用FlowDroid安装初体验 为了看代码了解FlowDroid如何处…

homeassistant ubuntu自启动 网络设置

命令行安装virtualbox 或者安装包 hass官网下载 haos_ova-10.4.vdi virtualbox 装hass 最少2G内存 其他省略 自启动: gnome-session-properties 添加 VBoxManage startvm hass --type headless hass为自己的虚拟机名字 网络配置如下: 要全部打开

【云原生】Kubernetes容器编排工具

目录 1. K8S介绍 1.1 k8s的由来 下载地址 1.2 docker编排与k8s编排相比 1.3 传统后端部署与k8s 的对比 传统部署 k8s部署 ​2. k8s的集群架构与组件 (1) Kube-apiserver (2)Kube-controller-manager (3&a…

微信小程序开发教学系列(9)- 小程序页面优化

第9章 小程序页面优化 在开发小程序时,页面性能优化是非常重要的一项任务。优化页面性能可以提升用户体验,使小程序更加流畅和高效。本章将介绍一些常见的页面优化方法和技巧,帮助您提升小程序的性能。 9.1 页面性能优化的基本原则 页面性…

vue实现按需加载的多种方式

1.import动态导入 const Home () > import( /* webpackChunkName: "Home" */ /views/Home.vue); 2.使用vue异步组件resolve 这种方式没有成功 //const 组件名 resolve > require([‘组件路径’],resolve) //(这种情况下一个组件生成一个js文件…

vue+elementui前端rules校验缓存问题

场景: 最近公司要求项目前端不要用element-ui,改为使用公司其他组开发的ui组件。 这个ui组件使用基本就是安装后,直接全局替换elementui的el-前缀为公司开发的xx-前缀。 替换之后,发现替换倒是很丝滑,问题不大。可以运…

大场景图片切图python脚本

大场景图片切图python脚本 同时对原图和xml标注进行切割 优点: 1、使用了overlap的分割方法 2、对边界的小目标框进行了省略 # -*- coding: utf-8 -*- """ Author : zengwb Time : 2021/4/17 Software: PyCharm """ import os i…

Python项目日志打点功能实现方法

一、入门介绍 1.1 logging和logger的区别 logging和logger是Python的logging模块中的两个关键概念,它们在功能和用途上有明显的区别。 logging是一个Python标准库,是一个用于记录日志的标准模块。它提供了一个灵活的框架,可以用来记录不同级…

Qt应用开发(基础篇)——对话框窗口 QDialog

一、前言 QDialog类继承于QWidget,是Qt基于对话框窗口(消息窗口QMessageBox、颜色选择窗口QColorDialog、文件选择窗口QFileDialog等)的基类。 QDialog窗口是顶级的窗口,一般情况下,用来当做用户短期任务(确认、输入、选择)或者和用户交流(提…

一、安装GoLang环境和开发工具

一、安装GoLang环境 GoLang中国镜像站 下载后对应的环境包以后,一路下一步就好了,安装路径的话,尽量就安装到默认的文件目录下。 二、配置Go的环境变量 右击此电脑–>属性–>高级系统设置–>环境变量,打开环境变量设置…

MySQL高阶语句之常用查询

目录 常用查询 按关键字排序 区间判断及查询不重复记录 对结果进行分组 限制结果条目 设置别名 通配符 子查询 常用查询 (增、删、改、查) 对 MySQL 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。 …

设计模式之工厂模式(万字长文)

文章目录 概述工厂模式的优点包括工厂模式有几种主要的变体看一个具体需求使用传统的方式来完成传统的方式的优缺点 简单工厂模式基本介绍使用简单工厂模式简单工厂模式的优缺点优点:缺点: 工厂方法模式看一个新的需求思路 1思路 2工厂方法模式介绍工厂方…

生成式AI,赋能数字劳动力的关键工具

人们认为,生成式人工智能是一种可以让他们用自己的话来提问或生成副本和图像的工具。事实也是如此,人工智能在这两方面上都做的非常好,但让人意想不到的是,它还蕴含着改变我们个人和专业工作的巨大潜力,能帮我们访问、…

Unity记录4.5-存储-随角色加载的Tilemap

文章首发见博客:https://mwhls.top/4820.html。 无图/格式错误/后续更新请见首发页。 更多更新请到mwhls.top查看 欢迎留言提问或批评建议,私信不回。 汇总:Unity 记录 摘要:随着角色移动而动态加载的tilemap。 思路-2023/08/18 …

nextTick原理

nextTick 是 Vue 提供的一个异步方法,用于在 DOM 更新之后执行回调函数。它的原理是利用 JavaScript 的事件循环机制来实现异步执行。 具体来说,当我们调用 nextTick 方法时,Vue 会将传入的回调函数添加到一个队列中。在下一个事件循环中&am…

Django(7)-项目实战-发布会签到管理系统

本文使用django实现一个简单的发布会签到管理系统 登录功能 模板页面 sign/templates/index.html <!DOCTYPE html> <html> <head><title>Login Page</title> </head> <body><h1>发布会管理</h1><form action=&qu…

springboot实战(一)之项目搭建

环境准备 ideajdk1.8springboot版本 2.7.15 项目开始 1.打开idea&#xff0c;点击new project 2.选择spring initillizr 核对&#xff1a;Server Url是否是&#xff1a;start.spring.io&#xff0c;然后根据自己依次设置项目名称、存储位置和包名&#xff0c;如下&#xff…