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 ? ...
随机推荐
- Android 性能优化提示
原文 http://developer.android.com/guide/practices/design/performance.html 性能优化 Android应用程序运行的移动设备受限于其运 ...
- 【arc073e】Ball Coloring(线段树,贪心)
[arc073e]Ball Coloring(线段树,贪心) 题面 AtCoder 洛谷 题解 大型翻车现场,菊队完美压中男神的模拟题 首先钦定全局最小值为红色,剩下的袋子按照其中较大值排序. 枚举前 ...
- luogu3278/bzoj3323 多项式的运算 (splay)
mulx的操作,其实就是给r+1的系数+=r的系数,然后删掉r,把l~r-1向右移一位,再插一个0到原来的位置 splay维护区间加和区间乘就好了 (一定要注意做事的顺序,一件事都做完了再去做别的,否 ...
- mybatis 二级缓存
Mybatis读取缓存次序: 先从二级缓存中获取数据,如果有直接获取,如果没有进行下一步: 从一级缓存中取数据,有直接获取,如果没有进行下一步: 到数据库中进行查询,并保存到一级缓存中: 当sqlSe ...
- Servlet -- 重定向
重定向的两种方式: 1: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws S ...
- Arch Linux中安装Anaconda
安装步骤 通过AUR安装yaourt -S anaconda 激活Anaconda环境source /opt/anaconda/bin/activate root 关闭Anaconda环境source ...
- Linux下使用pv监控进度
使用pv移动文件 pv example.mkv > /tmp/example.mkv 使用pv监控dd pv -cN source < example.iso | dd of=/dev/s ...
- poj1958 strange towers of hanoi
说是递推,其实也算是个DP吧. 就是4塔的汉诺塔问题. 考虑三塔:先从a挪n-1个到b,把最大的挪到c,然后再把n-1个从b挪到c,所以是 f[i] = 2 * f[i-1] + 1; 那么4塔类似: ...
- 第三十四篇-Palette(调色板)的使用
由于屏幕录制图片转换关系,不甚清晰,还是附上效果图 可以看出,上面文字和背景颜色确实会根据图片的变化而变化. 里面有3个组件,toolbar,textview,imageview,其中textview ...
- http请求流程