链接:regexp_extract的用法总结 regexp_extract(string subject, string pattern, int index) 给定字符串subject,根据pattern的正则表达,按照index的规定返回 index: 0是显示与之匹配的整个字符串 1 是显示第一个括号里面的 2 是显示第二个括号里面的字段 …
#get_json_object一次解析一个值 select get_json_object(ziduan,'$.sessionid') as sessionid ,get_json_object(ziduan,'$.uid') as uid from table1 ; #可以一次解析多个值,需要与lateral view一起使用 select a.* from table1 lateral view json_tuple(ziduan,'sessionid','uid') a as sessionid,uidlateral view posexplode方法,产生两列:位置索引与具体的值,该方法借助分行索引&时间戳实现根据时间区间+1秒填充转换为列数据;其中注意时间戳的转换(/1000处理毫秒级时间戳)
摘抄–注释: 首先,在这里的collate是一个子句,主要是定义排序规则,可应用于数据库定义或列定义;或应用于字符串表达式以应用排序规则投影。 语法是collate collation_name。参数collate_name是应用于表达式、列定义或数据库定义的排序规则的名称。 collation_name 可以只是指定的 Windows_collation_name 或 SQL_collation_name。 Windows_collation_name 是 Windows 排序规则的排序规则名称。参见 Windows 排序规则名称。 SQL_collation_name 是 SQL 排序规则的排序规则名称。参见 SQL 排序规则名称。
SQL排序学习笔记.其中 [ ]指定值的范围 ^ 排除指定范围
正则学习资料
SQL及MySQL支持的正则表达式仅为正则表达式语言的一个很小的子集 常用技巧:
使用关键字regexp 或者 rlike sql中的正则表达式匹配一般不区分大小写,若要区分 可以使用 regexp binary like匹配整个字符串,而regexp匹配字串,可以使用定位符^开始 $结束来达到和like一样的效果 select '是9.2' regexp '[0-9\\.]' -- 返回true select '是9.2' regexp '^[0-9\\.]' -- 返回false where name regexp '.000' -- .表示除换行符\n以外的所有字符 进行or匹配,多字符使用|,单字符使用[] [123]ton为[1|2|3]ton的缩写^表示否定匹配范围 如: [0-9] [1-6] [a-z]转义符\,其中MySQL使用\\作为转义符匹配字符类——预定义的字符集,如下表1表1
类说明[:alnum:]任意数字和字母(同[a-zA-Z0-9])[:alpha:]任意字母组成的字符串(同[a-zA-Z])[:lower:]同[a-z][:upper:]同[A-Z][:digit:]同[0-9]用parse_url() 链接1 链接2