当前位置: 首页 > news >正文

网站建站公司排行seo渠道

网站建站公司排行,seo渠道,南召微网站开发,公司网站备案需要哪些impala 和hive不一样,hive是弱类型,比如int和string在大部分条件下可以比较 比如hive select 11 --结果true或false 但是impala select 11 报错 operands of type TINYINT and STRING are not comparable: 1 1 这样带来的好处是 类型一致结果更…

impala 和hive不一样,hive是弱类型,比如int和string在大部分条件下可以比较

比如hive  select 1='1'    --结果true或false

但是impala   select 1='1' 报错 operands of type TINYINT and STRING are not comparable: 1 = '1'

这样带来的好处是 类型一致结果更准确,缺点是增加开发人员的精力。。

话不多说直接来案例。

如何查看impala有哪些函数呢?

use _impala_builtins;

show functions like "*date*";

1.NOW()和current_timestamp() 返回当前时间,返回值是timestamp类型

select current_timestamp(),now()

2.current_date() 返回当前年月日,返回值是string类型

select current_date()

3.unix_timestamp() 返回当前时间戳,返回值bigInt类型

unix_timestamp()
unix_timestamp(STRING)
unix_timestamp(STRING, STRING)
unix_timestamp(TIMESTAMP)

select 'unix_timestamp()',unix_timestamp() union all 
select 'unix_timestamp(NOW())' ,unix_timestamp(NOW())union all 
select 'unix_timestamp(\'2023-01-01\')',unix_timestamp('2023-01-01')union all 
select 'unix_timestamp(\'20230101\',\'yyyyMMdd\')',unix_timestamp('20230101','yyyyMMdd') union all 
select 'unix_timestamp(\'2023-01-01 00:00:01\')',unix_timestamp('2023-01-01 00:00:01')

4.from_timestamp和 from_unixtime 返回的都是string类型,

注意这个impala没有date_format或者to_date这种行数 对于标准的时间格式yyyy-MM-dd 想要格式化为自己需要的类型 就需要这两个函数了

from_timestamp(TIMESTAMP, STRING)
from_unixtime(BIGINT)
from_unixtime(BIGINT, STRING)
from_unixtime(INT)
from_unixtime(INT, STRING)

select 'from_timestamp(NOW(),\'yyyy-MM-dd HH:mm:ss\') ',from_timestamp(NOW(),'yyyy-MM-dd HH:mm:ss') union all 
select 'from_unixtime(cast (1695125510 as bigint)) ',from_unixtime(cast (1695125510 as bigint)) union all 
select 'from_unixtime(cast (1695125510 as bigint),\'yyyy-MM\') ',from_unixtime(cast (1695125510 as bigint),'yyyy-MM') union all 
select 'from_unixtime(1695125510) ',from_unixtime(1695125510) union all
select 'from_unixtime(1695125510,\'yyyy-MM-dd \')',from_unixtime(1695125510,'yyyy-MM-dd ')

所以2和3经常配合使用

demo1  20231122转为 2023-11-22

select "from_unixtime(unix_timestamp('20221122','yyyyMMdd'),'yyyy-MM-dd')", from_unixtime(unix_timestamp('20221122','yyyyMMdd'),'yyyy-MM-dd')

demo2 获取当前时间的各种格式

 select "from_unixtime(unix_timestamp(),'yyyy-MM-dd')", from_unixtime(unix_timestamp(),'yyyy-MM-dd') union all 
select "from_unixtime(unix_timestamp(),'yyyyMMddHHmmss')",  from_unixtime(unix_timestamp(),'yyyyMMddHHmmss')

有人会说了为什么不直接用select now(),因为now()返回的是tmiestamp呀,from_unixtime是string一般来说我们更倾向于使用string。

 

 5 add_months操作,入参说是date,timestamp也可以是string,返回值是timestamp

add_months(DATE, BIGINT)
add_months(DATE, INT)
add_months(TIMESTAMP, BIGINT)
add_months(TIMESTAMP, INT)

months_add(DATE, BIGINT)
months_add(DATE, INT)
months_add(TIMESTAMP, BIGINT)
months_add(TIMESTAMP, INT)

其中第二个参数int和bigint是一样的没什么区别就是一个方法的重载,支持不同类型的参数

select "add_months(NOW() ,0)",add_months(NOW() ,0) union all
select "add_months('2022-01-23',1)",add_months('2022-01-23',1) union all 
select "add_months(NOW() ,cast(1 as bigint ))",add_months(NOW() ,cast(1 as bigint ))

 

6 adddate和date_add,入参date和timestamp,返回值说是有date和timestamp其实都是timestamp

天的增加

adddate(DATE, BIGINT)
adddate(DATE, INT)
adddate(TIMESTAMP, BIGINT)
adddate(TIMESTAMP, INT)
date_add(DATE, BIGINT)
date_add(DATE, INT)
date_add(TIMESTAMP, BIGINT)
date_add(TIMESTAMP, INT) 

days_add(DATE, BIGINT)
days_add(DATE, INT)
days_add(TIMESTAMP, BIGINT)
days_add(TIMESTAMP, INT)

天的减少

date_sub(DATE, BIGINT)
date_sub(DATE, INT)
date_sub(TIMESTAMP, BIGINT)
date_sub(TIMESTAMP, INT)

subdate(DATE, BIGINT)
subdate(DATE, INT)
subdate(TIMESTAMP, BIGINT)
subdate(TIMESTAMP, INT)

其实和add_months操作一样

select 'adddate(now(),1)',adddate(now(),1) union all 
select 'adddate(now(),-1)',adddate(now(),-1) union all 
select 'date_add(now(),0)',date_add(now(),0) union all 
select 'date_add(CURRENT_DATE(),1)',date_add(CURRENT_DATE(),1) union all 
select 'date_add(current_date(),-1)',date_add(current_date(),-1)

7.同理还有时间参数的计算就不一一举例了。

年份的增加

weeks_add(DATE, BIGINT)
weeks_add(DATE, INT)
weeks_add(TIMESTAMP, BIGINT)
weeks_add(TIMESTAMP, INT)
周的增加

years_add(DATE, BIGINT)
years_add(DATE, INT)
years_add(TIMESTAMP, BIGINT)
years_add(TIMESTAMP, INT)

小时的增加

hours_add(TIMESTAMP, BIGINT)
hours_add(TIMESTAMP, INT) 

分钟的增加

minutes_add(TIMESTAMP, BIGINT)
minutes_add(TIMESTAMP, INT)

毫秒的增加

milliseconds_add(TIMESTAMP, BIGINT)
milliseconds_add(TIMESTAMP, INT)

微秒的增加

microseconds_add(TIMESTAMP, BIGINT)
microseconds_add(TIMESTAMP, INT)

8 date_trunc() 对timestamp进去取整,返回类型是timestamp

date_trunc(STRING, DATE)

date_trunc(STRING, TIMESTAMP)

select "date_trunc('year', CURRENT_TIMESTAMP())  ",date_trunc('year', CURRENT_TIMESTAMP())  union all 
select "date_trunc('month', CURRENT_TIMESTAMP()) ",date_trunc('month', CURRENT_TIMESTAMP()) union all 
select "date_trunc('week', CURRENT_TIMESTAMP())  ",date_trunc('week', CURRENT_TIMESTAMP())  union all 
select "date_trunc('day', CURRENT_TIMESTAMP())   ",date_trunc('day', CURRENT_TIMESTAMP())   union all 
select "date_trunc('hour', CURRENT_TIMESTAMP())  ",date_trunc('hour', CURRENT_TIMESTAMP())  union all 
select "date_trunc('minute', CURRENT_TIMESTAMP())",date_trunc('minute', CURRENT_TIMESTAMP())union all 
select "date_trunc('second', CURRENT_TIMESTAMP())",date_trunc('second', CURRENT_TIMESTAMP())

9 datediff求日期的间隔,返回值是int 可以为负数

datediff(DATE, DATE)
datediff(TIMESTAMP, TIMESTAMP)

select "datediff('2023-01-04',now())         ",datediff('2023-01-04',now())         union all 
select "datediff('2023-01-04',CURRENT_DATE())",datediff('2023-01-04',CURRENT_DATE())union all 
select "datediff('2023-01-03','2023-01-01')  ",datediff('2023-01-03','2023-01-01')  
 

10 to_date 将timestamp标准化年月日,入参可以是string或者timestamp,返回值timestamp

to_date(TIMESTAMP) 

其实还可以to_date(STRING)

select "to_date(now())       ",to_date(now())       union all 
select "to_date('2023-1-2')  ",to_date('2023-1-2')  union all
select "to_date('2022-01-01')",to_date('2022-01-01')union all
select "to_date('2022/01/01')",to_date('2022/01/01')

 

11获取单独的年于日时分秒 函数,当然也可以通过格式化获取
date_part(STRING, DATE)
date_part(STRING, TIMESTAMP) 

select "date_part('year',now())    ",date_part('year',now())    union all     
select "date_part('month',now()) ",date_part('month',now()) union all 
select "date_part('day',now())   ",date_part('day',now())   union all 
select "date_part('hour',now())  ",date_part('hour',now())  union all 
select "date_part('minute',now())",date_part('minute',now())union all 
select "date_part('second',now())",date_part('second',now())union all 
select "YEAR(now())              ",YEAR(now())              union all 
select "MONTH(now())             ",MONTH(now())             union all 
select "day(now())               ",day(now())               union all 
select "HOUR(now())              ",HOUR(now())              union all 
select "MINUTE(now())            ",MINUTE(now())            union all 
select "SECOND (now())           ",SECOND (now())        

 

11 date_cmp 这个函数是比较两个日期大小的,可以看作简化版的datediff,返回值int

1代表第一个日期比第二个日期大。

date_cmp(DATE, DATE)

select "date_cmp('2023-09-22','2023-09-21')",date_cmp('2023-09-22','2023-09-21') union all 
select "date_cmp('2023-09-22','2023-09-22')",date_cmp('2023-09-22','2023-09-22') union all 
select "date_cmp('2023-09-22','2023-09-23')",date_cmp('2023-09-22','2023-09-23') 

12 判断当前日期是今年第几天,这周的第几天

dayofmonth(DATE)
dayofmonth(TIMESTAMP)
dayofweek(DATE)
dayofweek(TIMESTAMP)
dayofyear(DATE)
dayofyear(TIMESTAMP)

select "DAYOFMONTH(CURRENT_DATE())",DAYOFMONTH(CURRENT_DATE()) union all 
select "DAYOFWEEK(CURRENT_DATE()) ",DAYOFWEEK(CURRENT_DATE())  union all 
select "DAYOFYEAR(CURRENT_DATE()) ",DAYOFYEAR(CURRENT_DATE())  

注意这里dayofweek 可不是周六。当前时间2023-09-22 为啥显示是周六呢?应该是老外把周天当作第一天,所以周五就是第六天了。

 

http://www.hengruixuexiao.com/news/9322.html

相关文章:

  • 设计公司网站的主页怎么做新型网络搜索引擎
  • 商务酒店设计网站建设天津seo排名收费
  • 深圳专业网站建设产品运营之中的广度讲解推广文章
  • html制作网页代码模板seo专员很难吗
  • 关于做网站的河北高端网站建设
  • 个人网站建立内容个人博客网页设计html
  • 网站建设制作方案竞价托管咨询微竞价
  • wordpress各个文件seo网站关键词优化方式
  • 渭南哪家公司可以做网站百度下载安装app
  • 襄阳门做网站推广方案100个
  • 视频网站怎么引流站长工具seo综合查询关键词
  • 网站如何做才能被百度等收录上海网站seo招聘
  • 网站主题说明怎么写推广任务发布平台app
  • 我和你99谁做的网站百度指数工具
  • 中山市城乡住房建设局网站关键词优化报价查询
  • 单位申请免费网站百度查重入口
  • 网站可以微信支付是怎么做的发布广告的平台免费
  • 禅城网站建设价格百度指数里的资讯指数是什么
  • 做网站日志步骤上海专业排名优化公司
  • seo网站推广排名广州宣布5条优化措施
  • 微商城 微网站制作十大免费网站推广
  • 婚纱摄影的网站模板友情链接推广平台
  • 郑州市多商家网站制作公司网络营销成功案例有哪些2022
  • 银川 网站建设一句话让客户主动找你
  • 网站开发做原型吗12月10日新闻
  • 三d全景网站建设磁力蜘蛛
  • 武汉建设管理局网门户网站媒体软文推广平台
  • 做网站建设需要会哪些网络营销推广方法
  • 桐乡市建设局官方网站优化关键词排名工具
  • 厦门网站建设找哪家比较好搜狗首页排名优化