EXCEL-SQL学习笔记——replace函数


如图,现需要将襄樊市更改为襄阳市
在这里插入图片描述
SQL如下

select 经销商地址,replace(经销商地址,"襄樊市","襄阳市") as 变更后地址 from [襄樊部分企业$]

一、replace函数的使用

replace返回一个字符串,字符串中的指定字符串已经被特定字符串替换了一次或者多次,语法如下

replace(expression,find,replace[,start][,count][,compare])

  • 在字符串(expression)中找到字符串(find)替换成目标字符串(replace),star为起始位置,count为要替换的次数,compare用于设置比较类型。其中后面三个都为可选参数

1、返回值说明

条件replace返回的结果
若expression长度为零零长度字符串("")
若expression长度为Null错误
若find长度为零expression的副本
若replace长度为零expression的副本,其中删除了出现的所有find
若start>Len(expression)零长度字符串
若count为0expression的副本

2、例子

①现要将如下左边数据转换成右边

在这里插入图片描述

select 规格,replace(replace(replace(规格,"mm"," "),"x","X"),"*","X") as 统一规格 from [纸箱规格表$]

②如图,将S字段数据进行替换

在这里插入图片描述

select S,replace(S,"A","B",0.6) as s1,
replace(S,"A","B",1.4) as s2,
replace(S,"A","B",1.5) as s3,
replace(S,"A","B",1.6) as s4,
replace(S,"A","B",2.5) as s5,
replace(S,"A","B",3.5) as s6 from [字符串$]

replace(S,“A”,“B”,0.5)将返回错误,因为replace函数的第四个参数要求大于0

在这里插入图片描述

select S,replace(S,"A","B",1,-1) as s1,   
replace(S,"A","B",1,0) as s2,   
replace(S,"A","B",1,0.6) as s3,    
replace(S,"A","B",1,1.4) as s4,    
replace(S,"A","B",1,1.5) as s5,    
replace(S,"A","B",1,1.6) as s6,    
replace(S,"A","B",1,2.5) as s7,    
replace(S,"A","B",1,3.5) as s8 from [字符串$]

replace(S,“A”,“B”,1,-1)=replace(S,“A”,“B”)
replace(S,“A”,“B”,1,-2)将返回错误,因为count参数最小为-1

补充:关于四舍六入五单双的规则
  • 当需要舍弃部分最左一位数字<>5时,遵循四舍五入
  • 当需舍弃部分最左一位数字为5时,如果5右边的有效数字非零,则进一位。如果为零,判断5前面数字的奇偶性,奇数进一位,偶数则舍去
    1.492保留两位小数>>>1.49,保留一位>>>1.5
    1.452保留一位小数>>>1.5
    1.55保留一位小数>>>1.6
    1.45保留一位小数>>>1.4
    口诀:四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇就进一
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 好的,以下是关于spark-sql、复杂sql、函数、自定义函数的回复: Spark SQL是Spark中的一个模块,它提供了一种基于结构化数据的编程接口,可以使用SQL语句来查询和操作数据。Spark SQL支持多种数据源,包括Hive、JSON、Parquet等。 复杂SQL是指包含多个子查询、联合查询、嵌套查询等复杂结构的SQL语句。这种SQL语句通常需要使用多种SQL语法和技巧来实现,例如使用WITH语句、子查询、JOIN操作等。 函数是SQL语言中的一种基本元素,它可以接受输入参数并返回一个值。SQL语言中内置了许多函数,例如聚合函数、字符串函数、日期函数等。 自定义函数是指用户可以根据自己的需求编写的函数,它可以扩展SQL语言的功能。在Spark SQL中,用户可以使用Scala或Java编写自定义函数,并将其注册到Spark SQL中,从而可以在SQL语句中使用。 希望以上回复能对您有所帮助。 ### 回答2: 2020年11月23日,Spark SQL 及其相关技术迎来了新的进展。首先是Spark SQL继续发扬自身强大的复杂查询能力,以支持更为灵活、多样化的业务需求。而这背后,离不开Spark SQL强大的函数库和高度可扩展、易于定制的自定义函数(UDF)机制。 随着数据规模的不断增大,针对大规模复杂数据的查询需求也变得越来越复杂,针对这类需求,我们需要更为高级的 SQL 开发技巧和工具。在Spark SQL中,复杂 SQL 查询能够高效地进行大规模数据处理和分析,并建立更为稳健和精准的业务分析模型。因此,Spark SQL 在大规模数据查询分析领域的地位越来越重要。 而为了更好地实现此目标,随着Spark SQL的发展,它提供的函数和UDF(User-Defined Functions)也越来越强大和方便。基于 Spark SQL 强大的函数库,我们可以轻松实现各种复杂查询和分析操作,并且能够在多种语言和环境中快速支持标准和自定义函数的扩展。同时,Spark SQL 提供了高度可扩展、易于定制的自定义函数(UDF)机制,从而使得用户可以根据自身需求,快速创建符合业务要求的函数。 在 2020 年 11 月 23 日这一天,Spark SQL 又进一步加强了其自身的函数库和UDF机制,从而为数据分析、深度学习、机器学习等应用场景带来更大的便利性和高效性。在未来,我们相信,Spark SQL 和其强大的函数库与UDF机制,将会成为更多人进行大规模数据处理与分析的首选工具,也将进一步拓宽大规模分布式计算领域的发展空间! ### 回答3: 2020年11月23日,主要涉及四个方面的内容:Spark-SQL、复杂SQL、函数和自定义函数。 Spark-SQL是基于Spark框架下的一种SQL查询语言,它能够通过结构化的方式轻松地处理大数据,同时也具备了SQL灵活的查询能力。Spark-SQL通过对数据进行特定的格式化后,将其以类似于表的格式暴露给普通SQL查询。Spark-SQL支持大部分标准SQL的语法,同时也支持使用Java、Scala、Python等编程语言进行查询。 复杂SQL是指具备较高难度、较复杂查询、涉及多个数据表和复杂条件限制的SQL语句。常见的复杂SQL包括嵌套查询(Subquery)、联合查询(Union)、连接查询(Join)等。对于复杂SQL的处理,需要使用到一些高级查询和优化技巧,如索引的使用、SQL查询计划的优化等。 函数是SQL查询过程中常用的一种结构,它可以帮助我们实现某些常用的逻辑和计算。SQL中内置了很多函数,如求和函数Sum、平均数函数Avg等。此外,SQL还支持使用用户自定义函数来实现某些特定的计算和操作。使用自定义函数,可以提高程序的效率,提供更多操作的逻辑控制。 自定义函数是指,通过编写程序来实现一些特定的操作和计算,并将其封装为函数以便于经常使用。对于Spark-SQL,可以通过编写一些Java或Scala代码,然后打包为JAR文件,供Spark中的SQL查询使用。自定义函数的使用需要注意函数的输入输出格式、函数的逻辑控制等方面,以保证函数的正确性和高效性。 综上所述,2020年11月23日的主要内容与Spark-SQL、复杂SQL、函数和自定义函数有关,这些内容都是SQL查询过程中常用的一些基础和高级功能,可以帮助我们实现各种复杂的数据查询和数据处理操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

star星梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值