substr函数或者substring函数。

开发中,经常进行模糊查询或者进行截取字符串进行模糊匹配,常用的就是substr函数或者substring函数。

使用语法: substr(string A, int start),substring(string A, int start) 两者用法一样,两个参数

返回值: string

说明:返回字符串A从start位置到结尾的字符串

举例演示:

hive> select substr(‘abcde’,3) fromlxw_dual;
cde
hive> select substring(‘abcde’,3) fromlxw_dual;
cde
hive> select substr(‘abcde’,-1) from lxw_dual; (和ORACLE相同,负数从最后一位开始截取)
e
hive> select substr(‘abcde’,1,2) 和selectsubstr(‘abcde’,0,2)结果一样ab,默认都是从第一位开始取.
语法: substr(string A, int start, int len),substring(string A, intstart, int len),用法一样,三个参数

返回值: string

说明:返回字符串A从start位置开始,长度为len的字符串

举例演示:

hive> select substr(‘abcde’,3,2) fromlxw_dual;
cd
hive> select substring(‘abcde’,3,2) fromlxw_dual;
cd
hive>select substring(‘abcde’,-2,2) fromlxw_dual;
de
注意,实际开发中,比如查询表中dataforjy字段记录后5位包含#的记录条数?同样可以用substr进行后5位截取,然后用like或者rlike进行匹配(具体参考我的另外一篇博客),但是如果出现dataforjy字段部分记录的长度不足五位的情况,怎么处理?

hive > select substr(‘abcde’,6) (结果是空值)

From:
炫龙网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: substrsubstring函数都是用来截取字符串的函数,但是它们的用法和区别如下: 1. substr函数 substr函数是从字符串的指定位置开始截取指定长度的子字符串。它的语法如下: substr(string,start,length) 其中,string是要截取的字符串,start是截取的起始位置,length是截取的长度。如果省略length,则截取从start开始到字符串末尾的所有字符。 2. substring函数 substring函数也是从字符串的指定位置开始截取指定长度的子字符串。它的语法如下: substring(string,start,end) 其中,string是要截取的字符串,start是截取的起始位置,end是截取的结束位置。如果省略end,则截取从start开始到字符串末尾的所有字符。 区别: 1. substr函数的第三个参数是截取的长度,而substring函数的第三个参数是截取的结束位置。 2. 如果start参数为负数,substr函数会将其视为从字符串末尾开始的位置,而substring函数会将其视为。 3. 如果start参数大于end参数,substr函数会自动交换它们的位置,而substring函数会返回一个空字符串。 综上所述,substr函数substring函数的用法和区别都需要根据具体的需求来选择使用。 ### 回答2: substrsubstring是Javascript字符串函数中非常常用的两个函数。它们都用来截取字符串,但是在使用方式上有很大的区别。 首先是substr函数substr函数是根据指定的起始位置和截取长度,从字符串中截取指定长度的子串。例如: ``` var str="abcdefg"; var result=str.substr(2,3); console.log(result); ``` 结果输出的是"cde",因为从第2个位置(即字符串中的第3个字符,从0开始计数)开始,截取了3个字符。所以substr函数需要传递两个参数,第一个是截取的起始位置,第二个是要截取的长度。 而substring函数则是根据指定的起始位置和结束位置,从字符串中截取指定范围的子串。例如: ``` var str="abcdefg"; var result=str.substring(2,5); console.log(result); ``` 结果输出的是"cde",同样是从第2个位置开始截取,但是结束位置为第5个位置前一个字符,即第4个位置。所以substring函数需要传递两个参数,第一个是截取的起始位置,第二个是截取的结束位置。 除了使用方式的区别,substrsubstring的另一个区别在于对待负数参数的方式。substr函数的第一个参数如果是负数,表示从字符串末尾开始计数,例如: ``` var str="abcdefg"; var result=str.substr(-3,2); console.log(result); ``` 结果输出的是"ef",表示从后往前数第3个字符开始,截取2个字符。而substring函数则将负数参数当做0处理,例如: ``` var str="abcdefg"; var result=str.substring(-3,2); console.log(result); ``` 结果输出的是"ab",表示从第0个位置开始截取2个字符。 总的来说,substr函数substring函数都是字符串截取函数,根据不同的需求可以选择使用。需要注意的是,substr函数已经标注为被废弃的函数,不建议再使用,推荐使用substring或者slice函数来代替。 ### 回答3: substrsubstring函数都可以用来从一个字符串中获取一部分字符。但是它们之间存在一些差别。 首先,这两个函数的参数有所不同。在JavaScript中,substr的参数有两个:第一个参数是要开始提取的字符位置,第二个参数是要提取的字符数量。而substring的参数也有两个:第一个参数是要提取的起始位置,第二个参数是要提取的终止位置,但是它不包括终止位置的字符。 其次,当参数为负数时,这两个函数的操作也不同。在使用substr函数时,如果第一个参数是负数,那么它被解释为字符串末尾的偏移量。而如果第二个参数是负数,那么它被解释为0。然而,在使用substring函数时,任何一个参数为负数,就会被解释为0。 另外,这两个函数也有一些细微的区别。当第一个参数等于字符串长度时,substr函数返回一个空字符串,而substring函数会返回第一个参数的字符串。当第一个参数大于字符串长度时,substr函数返回一个空字符串,而substring函数返回整个字符串。当第二个参数为0时,substr函数返回一个空字符串,而substring函数返回整个字符串。 综上所述,虽然substrsubstring函数都用于获取字符串的一部分,但它们的使用方法有所不同。我们需要根据实际情况进行选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值