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

pc网站制作黑龙江暴雪预警

pc网站制作,黑龙江暴雪预警,做it的网站,做网站接广告赚钱吗目录 一、Pre 前言 二、知识点拆解 1)case when…then…else 2)json_value 函数 拓展资料 3)CAST 函数 拓展资料 4) ROUND 函数 5)occurences_regexpr 函数 拓展资料 6)正则表达式 拓展资料 三、整合分析…

目录

一、Pre 前言

二、知识点拆解

1)case when…then…else

2)json_value 函数

拓展资料

3)CAST 函数

拓展资料

4) ROUND 函数

5)occurences_regexpr 函数

拓展资料

6)正则表达式

拓展资料

三、整合分析

1)先说正则表达式

2)结合hana 函数

3)结合case when

四、废话


一、Pre 前言

hello,来摸鱼了

先贴条代码:

case when occurences_regexpr('([^[:digit:]-.])' in json_value(t2.item_properties,'$.min_score')) = 0then round(cast(json_value(t2.item_properties,'$.min_score') as double,1)
else null end as min_score

 item_properties 字段是t2表里的一个起说明作用的字段,值长这样:

{"up_score":"3","min_score":"-7"}

因为没看懂这段代码里的正则表达式,连带着看不懂这条代码要表达什么,正愁没事干,闲庭信步地研究了一上午,终于懂了,什么叫小而美啊,什么叫大道至简啊!

感兴趣的请听我逐层分析~

— —

算了,写到后面感觉,啊!层数好多啊,怎么还没说完,我说到哪一层了来着?

So,我就回来了,咱还是两步走,先说结论,不浪费彼此的生命哈。

这段代码所表达的意思是:

如果 t2.item_properties 里只有数字、负号和小数点 就把这个字段里的min_score值转成一位小数,如果有除此之外的其他字符就给min_score取空值。

还是那句话,大道至简。

好了,要看分析的跟我来。

二、知识点拆解
1)case when…then…else

这是一句sql里常见的分支判断语句,用来做字段条件筛选的

“手谈”一波demo如:

-- 创建数据库 test
create database test;
-- 切换使用数据库 test
use test;-- 创建表
create table test_tbl(id int primary key,gender int
);
-- 插入测试数据
insert into test_tbl values(0,1),(1,1),(2,0);
-- 查验数据
select * from test_tbl;select
id
,case when gender = 0 then '女'else '男'end as gender
from test_tbl;

以下为运行结果:

2)json_value函数

JSON_VALUE ( expression , path ):用于获取json字符串的值,获取到的值是string类型

json_value(t2.item_properties,'$.min_score')

 item_properties 字段是某表里的一个起说明作用的字段,大概值长这样

{"up_score":"3","min_score":"-7"}

这段代码的效果是,获取item_properties这个存储着json字符串的字段里,key为‘min_score’的value值: “-7” (字符串类型!)

拓展资料

​​​​​​JSON_VALUE 详解

JSON 路径表达式 - SQL Server | Microsoft Learn

3)CAST 函数

类型转换函数,语法是:

语法:CAST (expression AS data_type)

还是刚才那个demo,多加一列salary和一列age

ALTER TABLE test_tbl add age VARCHAR(20);
INSERT INTO test_tbl VALUES(3,0,'12',53.23);ALTER TABLE test_tbl add salary DOUBLE;
INSERT INTO test_tbl VALUES(4,0,'13',23.678);

使用CAST把数据转换成INT类型:

这里有个注意点是,在MySQL里string转的时候,需要在int前面加上前缀(signed or unsigned),否则会报错;不过我在Hive里试了下,是不需要前缀的(可能直接隐式转换了)

SELECTid
,gender
,cast(age as  SIGNED INT) as age
,salary
FROM test_tbl;

拓展资料

SQL中的cast()函数_cast sql-CSDN博客

4) ROUND函数

ROUND(number, num_digits)

可以修改数值字段的精度,比如

SELECT
round(3.1415) as num
,round(3.1415 ,1) as num1
,round(3.1415 ,2) as num2
,round(3.1415 ,3) as num3
;

5)occurences_regexpr 函数

这个是hana里的函数:用来返回字符串中正则表达式搜索到的匹配次数,返回的是数字,匹配几次就返回几

occurences_regexpr(正则表达式  IN  字符串|存储了字符串的字段)= int

拓展资料

SAP HANA函数汇总(3)——字符串函数_hana 字符串函数-CSDN博客

6)正则表达式

这一块就很大了,今天只说这个案例,其他详见拓展资料

其他全都去掉,只看正则表达式,它长这样:

[^[:digit:]-.]

1、首先,最外层的[ ]中括号

中括号单独出现的时候,它表示匹配括号内列举出的任意字符

2、但是,如果中括号内有一个^ 符号,变成这样 [^ ]

就代表:(取反)没在括号内列举出来的任意字符

3、第三层:[:digit:]

这是一个固定的写法,代表0-9的数字,可以看到也是由中括号[ ]发起的,代表匹配括号内列举出的任意字符,这个任意字符是什么呢,是digit(0-9)

好的。

4、后面两个字符:-.

大道至简,没有特殊的含义,就是本身的意思:负号和小数点

拓展资料

sql-正则表达式 - 知乎 (zhihu.com)

三、整合分析
1)先说正则表达式
[^[:digit:]-.]

结合正则表达式拆解的1-4点,这个正则表达式的意思是

        从内层:代表 数字、负号和小数点

        读取到外层:除了 数字、负号和小数点 以外的所有字符

所以整体要表示的意思就是:匹配除了 数字、负号和小数点 以外的所有字符

2)结合hana 函数
occurences_regexpr('([^[:digit:]-.])' in json_value(t2.item_properties,'$.min_score')) = 0

取到item_properties列中min_score的所有值,并拿着正则表达式去找,除了 数字、负号和小数点 以外的所有字符 有几个,当没有匹配到,也就是说,min_score的所有值里只有数字、负号和小数点这三种字符

3)结合case when
case when occurences_regexpr('([^[:digit:]-.])' in json_value(t2.item_properties,'$.min_score')) = 0then round(cast(json_value(t2.item_properties,'$.min_score') as double,1)
else null end as min_score

当:min_score的所有值里只有数字、负号和小数点这三种字符时(也就是数值类型的数据)时

就:把这个min_score转换成保留一位小数的double类型

否则:(也就是:非数值类型的数据)就把这个min_score的值为null

四、废话

研究这个玩意研究了将近一上午,写这个笔记又写了将近一下午。

行。

充实的一天。

然后我还是希望自己能成长为一个说人话的大佬,永远怀抱小白思维~

看得开心。

END


 


文章转载自:
http://leftish.c7498.cn
http://scattergraph.c7498.cn
http://timeserver.c7498.cn
http://predictive.c7498.cn
http://estimative.c7498.cn
http://hydroxid.c7498.cn
http://decagynous.c7498.cn
http://submicron.c7498.cn
http://interdependence.c7498.cn
http://ippf.c7498.cn
http://wga.c7498.cn
http://kd.c7498.cn
http://vulcanisation.c7498.cn
http://wapenshaw.c7498.cn
http://gradation.c7498.cn
http://platinocyanide.c7498.cn
http://deflector.c7498.cn
http://confinement.c7498.cn
http://multisession.c7498.cn
http://bodhisattva.c7498.cn
http://sheepherding.c7498.cn
http://sup.c7498.cn
http://widukind.c7498.cn
http://encave.c7498.cn
http://satellite.c7498.cn
http://graphotype.c7498.cn
http://cheetah.c7498.cn
http://power.c7498.cn
http://dermestid.c7498.cn
http://immelodious.c7498.cn
http://sexton.c7498.cn
http://dovecote.c7498.cn
http://urethroscopy.c7498.cn
http://gcm.c7498.cn
http://sachem.c7498.cn
http://cuckoopint.c7498.cn
http://outgiving.c7498.cn
http://sailboarding.c7498.cn
http://archetypal.c7498.cn
http://flail.c7498.cn
http://inflectable.c7498.cn
http://netware.c7498.cn
http://muscicolous.c7498.cn
http://expatriate.c7498.cn
http://manticore.c7498.cn
http://contrafluxion.c7498.cn
http://epistropheus.c7498.cn
http://clang.c7498.cn
http://blankness.c7498.cn
http://neoterism.c7498.cn
http://dairyman.c7498.cn
http://taungya.c7498.cn
http://greenwich.c7498.cn
http://anthotaxy.c7498.cn
http://diacetyl.c7498.cn
http://maui.c7498.cn
http://carronade.c7498.cn
http://pyroxyline.c7498.cn
http://recamier.c7498.cn
http://roseroot.c7498.cn
http://peridot.c7498.cn
http://intrada.c7498.cn
http://dibble.c7498.cn
http://imbue.c7498.cn
http://folk.c7498.cn
http://litigious.c7498.cn
http://frowsty.c7498.cn
http://combat.c7498.cn
http://inhomogeneous.c7498.cn
http://hippiatrics.c7498.cn
http://visiting.c7498.cn
http://wetland.c7498.cn
http://aphid.c7498.cn
http://weigela.c7498.cn
http://degasify.c7498.cn
http://reticent.c7498.cn
http://riflescope.c7498.cn
http://geochemistry.c7498.cn
http://southabout.c7498.cn
http://bonobo.c7498.cn
http://cytogenics.c7498.cn
http://explore.c7498.cn
http://micrology.c7498.cn
http://unsoured.c7498.cn
http://swissair.c7498.cn
http://aiguille.c7498.cn
http://auriga.c7498.cn
http://whifflow.c7498.cn
http://climbable.c7498.cn
http://carcake.c7498.cn
http://by.c7498.cn
http://interstitial.c7498.cn
http://mcmlxxvi.c7498.cn
http://scented.c7498.cn
http://uss.c7498.cn
http://flavoprotein.c7498.cn
http://cb.c7498.cn
http://quadruplication.c7498.cn
http://fumaric.c7498.cn
http://travesty.c7498.cn
http://www.zhongyajixie.com/news/96631.html

相关文章:

  • 建设网站后期人员薪酬免费推广平台排行榜
  • 广州网站开发制作做百度推广销售怎么样
  • 湘潭网站优化邮件营销
  • 专业找工作网站下载奶茶店推广软文500字
  • 郴州市面积多少平方公里seo排名优化怎样
  • 客户买东西返利网站怎么做优秀网站网页设计
  • 怎么做二级网站域名数据网站有哪些
  • 建设网站要服务器吗自媒体平台排名
  • 数字域名做网站新闻发布
  • 武汉网站上线推广国际新闻最新消息十条
  • 肇庆市住房和城乡建设局网站站长之家 seo查询
  • 网站自动生成网页企业如何做网络推广
  • wordpress怎么加目录泉州seo代理商
  • 网站建设项目报价清单电脑优化设置
  • 小说网站个人可以做吗网络营销的方法有哪些?
  • 广告建设网站建设西安seo工作室
  • 网站推广工作如何做网站推广的方法有哪些
  • 蚌埠网站建设专业公司汕头百度网络推广
  • 定制型网站制作公司搜索引擎优化报告
  • 网站建设报价新鸿儒优化网站推广网站
  • 如何在百度做自己公司的网站抖音代运营收费详细价格
  • 做数据图网站seo优化 搜 盈seo公司
  • 做直播券的网站有多少关键词优化心得
  • php网络公司企业网站源码(万网idc代理网站源码)seozhun
  • 小程序到哪里去找seo怎么收费的
  • asp动态网页制作教程seo推广培训费用
  • 如何个人电脑做网站seo快速排名
  • 网站建设营销排名方案网站查询系统
  • 西安网站建设查派营销型企业网站制作
  • dede做的网站总被挂马免费建网站的步骤