impala系列: 字符串函数
--=======================
常用字符串函数
--=======================
base64decode(string str) : base64 解码.
base64encode(string str) : base64 编码.
fnv_hash(type v) : 对参数值做hash, 注意结果有正有负
trim(string a): 去除 leading 和 trailing 的 space.
btrim(string a, string chars_to_trim): trim() 函数的加强版, 可以去除任何指定字符.
implala 的字符串长度是按照字节计算的, 下面三个函数是完全一样的.
length('中国') : impala 返回值为 6.
char_length('中国') : impala 返回值为 6.
character_length('中国') : impala 返回值为 6.
Vertica 的字符串长度可以按照字节或字符计数的, 在 DDL 中是按照字节计算长度 (比如 char(10)), 在字符串函数中, 缺省是按照字符计数的.
length('中国') : vertica 返回值为 2.
select CHAR_LENGTH('中国' USING OCTETS) : vertica 返回值为 6.
select CHAR_LENGTH('中国' USING characters) : vertica 返回值为 2.
vertica 的 CHAR_LENGTH() 也可以写成 CHARACTER_LENGTH().
concat(string a, string b...), 字符串拼接.
concat_ws(string sep, string a, string b...), 按照指定分隔符拼接字符串.
group_concat(string s, string sep), 按照指定分隔符, 将多行记录的 s 表达式结果拼接起来.
find_in_set(string str, string strList), 在以逗号分隔的字符串列表 strList 中查找字符串, 结果为列表的下标, 下标起始为 1, 没找到的话为 0, 如果两个参数有一个为 null, 返回值为 null.
instr(string str, string substr [, bigint position [, bigint occurrence ] ])
locate(string substr, string str[, int pos])
locate() 和 instr() 作用相同,返回子串在长字符串的下标, 下标以 1 开始. 两个函数的差异有:
它们的子串参数一个在前一个在后.
推荐是使用 instr(),因为它还可以支持匹配出现的次数, 并且可以用负数指定扫描的起始下标, 负数表示从长字符串结尾算.
substr(string a, int start [, int len]) ,提取子字符串
substring(string a, int start [, int len]) ,提取子字符串
replace(string initial, string target, string replacement), 替换字符串.
split_part(string source, string delimiter, bigint n) , split 字符串并获取指定下标的子串.
repeat(string str, int n), 重复拼接 n 次字符串.
lower(string a) 和 lcase(string a), 都是将参数转成小写形式.
upper(string a) 和 ucase(string a), 都是将参数转成大写形式.
regexp_extract(string subject, string pattern, int index) , 正则提取.
regexp_like(string source, string pattern[, string options]) ,正则 like.
regexp_replace(string initial, string pattern, string replacement) ,正则替换.
parse_url(string urlString, string partToExtract [, string keyToExtract]) , 解析 url 中的指定的部位.
impala系列: 字符串函数的更多相关文章
- impala系列: 时间函数
--=======================时间函数--======================= --当前时间戳now()current_timestamp() --当前时间戳相对于 li ...
- str系列---字符串函数
1. strcat extern char *strcat(char *dest,char *src); 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'. 返回指 ...
- shell编程系列19--文本处理三剑客之awk中的字符串函数
shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...
- Sql Server系列:字符串函数
字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char.nchar.varchar和nvarchar数据类型.字符串函数可以用在SELECT或者WHERE语句中. 1. A ...
- mysql 开发基础系列5 字符串函数
字符串函数 1. concat (s1,s2,...sn) 连接里面的参数成一个字符串(注意上面写错了函数名称) SELECT CONCAT('ddd','CCC'); 2. insert(str ...
- 【C++实现python字符串函数库】一:分割函数:split、rsplit
[C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...
- JavaScript进阶系列02,函数作为参数以及在数组中的应用
有时候,把函数作为参数可以让代码更简洁. var calculator = { calculate: function(x, y, fn) { return fn(x, y); } }; var su ...
- PHP字符串——字符串函数
比较字符串PHP有两个操作符和6个函数用于字符串间相互比较. 精确比较你可以用==和===操作符来比较两个字符串是否相等.这两个操作符的不同在于它们如何处理非字符串数据类型的操作数.==操作符把非字符 ...
- PHP 基础篇 - PHP 的 BC MATH 系列数学函数
一.常见问题 用 PHP 做计算时经常会遇到精度带来的问题,下面来看两个常见的例子: 1. 运算比较 下面表达式输出的结果不是相等: <?php echo 2.01 - 0.01 == 2 ? ...
随机推荐
- linux系统下saltstack的安装和配置
Saltstack是一个新的基础设施管理工具,两大功能:远程执行和配置管理. Saltstack使用Python开发,是一个非常简单易用和轻量级的管理工具.由Master和Minion构成,通过Zer ...
- 【BZOJ4543】Hotel加强版(长链剖分)
[BZOJ4543]Hotel加强版(长链剖分) 题面 BZOJ,没有题面 洛谷,只是普通版本 题解 原来我们的\(O(n^2)\)做法是设\(f[i][j]\)表示以\(i\)为根的子树中,距离\( ...
- 「SCOI2014」方伯伯的玉米田 解题报告
#2211. 「SCOI2014」方伯伯的玉米田 发现是取一个最长不下降子序列 我们一定可以把一个区间加的右端点放在取出的子序列的最右边,然后就可以dp了 \(dp_{i,j}\)代表前\(i\)个玉 ...
- MVC控制器传递多个实体类集合到视图的方案总结
MVC控制器向视图传递数据包含多个实体类的解决方案有很多,这里主要针对视图模型.动态模型以及Tuple三种方法进行一些总结与记录. 基础集合类:TableA namespace ViewModelSt ...
- (三)orcale体系结构
https://www.cnblogs.com/chengxiao/p/5904783.html 一.什么是Oracle数据库? 众所周知,Oracle DataBase是一款关系型数据库管理系统(不 ...
- STL学习笔记:空间配置器allocator
allocator必要接口: allocator::value_type allocator::pointer allocator::const_pointer allocator::referenc ...
- TestNg-数据驱动-dataProvider
参考https://blog.csdn.net/hjianhui24/article/details/50554828 之前的用例自己一笔一划写出来的,知道了数据驱动的概念之后,修改了一下用例. @D ...
- springboot 修改页面不重启
shifr+alt+commond+/ <!-- 热部署模块 --><dependency> <groupId>org.springframework.boot&l ...
- PHP手动搭建环境
php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...
- IIS异常:CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\.。。”--“拒绝访问
CS0016: 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/.........dll” ...