--=======================
常用字符串函数
--=======================
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 中的指定的部位.

最新文章

  1. JqueryDataTable的使用(.Net平台)
  2. 阻止iOS中页面弹性回滚,只允许div.phone_body的区块有弹性
  3. Java SE 基础:注释
  4. ClickOnce的部署(.appref-ms)在软件限制策略中的解决方案
  5. Spark RDD解密
  6. Oracle - 位图索引的适用条件
  7. OAF与Windows 7版本不兼容黑屏卡顿问题
  8. CentOS 6.4搭建zabbix
  9. MySQL-基本sql命令
  10. 细谈UITabBarController
  11. 浅谈IOC
  12. 联动加入redmine的wik
  13. Baidu音乐爬虫
  14. 复杂和遗留的数据库schema
  15. python 的基础学习 第九天 文件的操作
  16. BootStrap学习从现在开始
  17. 七、springboot(四)配置redis
  18. c# 使用ssh.net 上传文件
  19. linux计划任务之crontab
  20. luogu P4396 [AHOI2013]作业

热门文章

  1. 环境变量PS1,修改命令行提示符样式
  2. Nifi 模板
  3. SP8791 DYNALCA - Dynamic LCA 解题报告
  4. NOIP2013火柴排队
  5. 51nod 1105(第K大数 二分套二分)
  6. 网络分层和Http协议原理
  7. [THUWC2017]在美妙的数学王国中畅游
  8. 既然写CSS很容易,那为什么大家还是把CSS写的那么烂呢?
  9. Python模块之time、random、os、sys、序列化、re
  10. Day26--Python--包