Day_02

今天主要是对业务进行了解,一遍进行后期代码的编写任务:

讲几个项目中要用到的函数,之前没有见过的

1.nvl

nvl(statement,statement2)

这个函数的作用是,如果statement的值是null的话,则函数的输出值为statement2

如果statement的值不是null的话,则函数的输出值为statement

做人千万不要逃避问题

2.str_to_map(字符串参数, 分隔符1, 分隔符2)

这个也是第一次见,之前根本没有用到过

就是将一个字符串进行两次切分,第一次切分形成一个K-V键值对,第二次再次进行切分,将第一个键值对切分成最终的键值对,举个例子,从别人的博客上盗的

同时复习一下concat的用法,很简单就是字符串的拼接

create table table_a

(column1 string not null,

column2 map notnull)

简单的创建一个表,其中有一个字段的类型是map型的

然后就开始进入正题:

insert overwrite table_a

select concat('col1:'+b.id+'&col2:'+b.name+'&col3:'+b.age)  as column1 comment '原始字段',

str_to_map(concat('&col1:'+b.id+'&col2:'+b.name+'&col3:'+b.age) ,'&',':') as column2 '经过处理的map值'

from table_b as b

这个时候table_a中就有了相关的数据

这个时候我们就可以直接取值

select 

column2,

column2['col1']as col_example

from table_a;

还有什么,奥就是case when 后面不应该是表达式,我想着表达式写成聚合函数,答案是我脑袋秀逗了,不能;

3. cast的用法

cast就是一个转换字符类型的小函数

用处不大也不小,比如下面这个案例

SELECT name, salary FROM employees

WHERE cast(salary AS FLOAT) = 100.0;

啥意思啊,就是在where条件语句中说必须满足一个条件,什么条件,就是salary通过cast转化为float型后必须要等于100.0

这样salary将会显示的转换成float。如果salary是不能转换成float,这时候cast将会返回NULL!

还可以嵌套转着用

SELECT (cast(cast(a as string) asdouble)) from src;

有效的转换结果

cast(date as date)        返回date类型

cast(timestamp as date)      timestamp中的年/月/日的值是依赖与当地的时区,结果返回date类型

cast(string as date)           如果string是YYYY-MM-DD格式的,则相应的年/月/日的date类型的数据将会返回;但如果string不是YYYY-MM-DD格式的,结果则会返回NULL。

cast(date as timestamp)         基于当地的时区,生成一个对应date的年/月/日的时间戳值

cast(date as string)             date所代表的年/月/日时间将会转换成YYYY-MM-DD的字符串。

然后下面来说应该是今天的最后一个知识点了

就是MySQL中的UNIX_TIMESTAMP函数有两种类型供调用

1  无参数调用:UNIX_TIMESTAMP() 

返回值:自'1970-01-01 00:00:00'的到当前时间的秒数差  1970-01-01 00:00:00是个什么鬼  是计算机元年

例子:SELECT UNIX_TIMESTAMP() from table_example => 1339123415

2  有参数调用:UNIX_TIMESTAMP(date)

其中date可以是一个DATE字符串,一个DATETIME字符串,一个TIMESTAMP或者一个当地时间的YYMMDD或YYYMMDD格式的数字

返回值:自'1970-01-01 00:00:00'与指定时间的秒数差

举例说明:

DATE字符串格式:(日期类型)

SELECT UNIX_TIMESTAMP(‘2012-06-08’)     => 1339084800

SELECT UNIX_TIMESTAMP(CURRENT_DATE())  =>1339084800

注:CURRENT_DATE ()的返回值是一个DATE字符串格式

以下几种格式返回的结果相同:

SELECT UNIX_TIMESTAMP('20120608');

SELECT UNIX_TIMESTAMP('2012-6-8');

SELECT UNIX_TIMESTAMP('2012-06-08');

结果都是:1339084800

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,451评论 0 13
  • 2017/3/14 RDBMS:关系型数据库管理系统 关系模型独立于语言 SQL有几种不同类型的语言:数据定义语言...
    ancherl阅读 1,620评论 0 6
  • 1. 了解SQL 1.1 数据库基础 ​ 学习到目前这个阶段,我们就需要以某种方式与数据库打交道。在深入学习MyS...
    锋享前端阅读 1,066评论 0 1
  • 《Python 3 程序开发指南》 学习笔记 Python 关键字 and continue except glo...
    馒头and花卷阅读 357评论 0 0
  • 我从12年到现在做的都是销售工作,从传统行业到互联网,从线下到线上。自己一路摸过来,也遇见很多销售高手,受益匪浅。...
    刘伟星阅读 211评论 0 1