substr()和substring()的区别:

本文详细介绍了MySQL中SUBSTR()和SUBSTRING()函数的使用方法,包括它们的语法、参数含义及示例。这两个函数主要用于从字符串中截取子串。在MySQL中,截取位置从1开始,可以正向或反向截取。通过举例说明了如何从不同位置截取字符串,并对比了两者在不同环境(如JS)中的区别。

SUBSTR() 函数用法:

mysql中,substr()函数的作用是:截取字符串

1.函数语法:

substr(str,pos):截取从pos位置开始到最后的所有str字符串

substr(str,pos,len)

        str:列名、字符串名

        pos:开始位置(从哪个位置开始截取),mysql中pos的截止开始位置是从1开始的,不是从0开始的。如果pos的值为正数,则截取的方向是从正序方向查数(如果字符串是4561133,pos=2,则开始截取数就是5,)如果pos的值为负数,则截取的方向是倒序开始数(如果字符串是7894561,pos=-2,则开始截取的位置截取的位置就是6)。

        len:截取字符个数(长度)。

举个例子:想要从b截取字符串“ abcdefg ”(字符串中空格也占了一位),

                

想要从f开始截取,则可以直接从后面来查

        ​​​​​​​        

 SUBSTRING() 函数用法:

SUBSTR() 函数用法:

从字符串中提取子字符串。--函数从特定位置开始的字符串返回一个给定长度的子字符串。

substring()函数语法:

select substring (str,pot);
select substring (str from len);

         str:要提取子字符串的字符串

         pot:用于指定字串的开始截取的位置,同样也可以是正数也可以是负数,代表的意义与substr中参数的意义相同。

        ​​​​​​       

substr()与substring()的区别: 

     在js中:

       (1) 当有两个参数时候,susbtr()返回从start位置开始length长度的字串

“goodboy”.substr(1.6);

输出结果为:oodboy

        (2)substring()返回从start位置开始到end位置的字串(不包含end)

“ goodboy” .substring(1,6);  

输出结果为oodbo

JavaScript 中的 `substr` `substring` 方法都用于从字符串中提取子串,但它们在参数含义行为上存在显著区别。 ### 参数含义不同 - `substring(start, end)` 方法接收两个参数,表示起始索引结束索引。返回的子字符串包括 `start` 索引处的字符,但不包括 `end` 索引处的字符。如果 `start` 大于 `end`,`substring` 会自动交换这两个参数的位置[^4]。 - `substr(start, length)` 方法的第一个参数是起始索引,第二个参数是要截取的子字符串长度。如果只提供一个参数,则默认从该位置开始截取到字符串末尾[^1]。 ### 负数参数处理不同 - 在 `substring` 中,如果任一参数为负数或 `NaN`,则会被当作 `0` 处理[^2]。 - `substr` 对负数的处理方式不同。如果 `start` 是负数,则会被当作 `str.length + start` 来计算[^4]。例如,对于字符串 `"hello"`,`"hello".substr(-3, 2)` 会从倒数第三个字符开始截取两个字符,结果为 `"ll"`。 ### 示例对比 ```javascript var s = "hello"; console.log(s.substr(1, 3)); // 输出 "ell" console.log(s.substring(1, 3)); // 输出 "el" ``` 上述代码展示了两种方法在相同参数下的不同结果。`substr(1, 3)` 表示从索引 1 开始截取 3 个字符,而 `substring(1, 3)` 表示从索引 1 开始到索引 3(不包含)之间的字符。 ### 默认行为 当只提供一个参数时,两者的默认行为是一样的,都是从指定索引开始截取到字符串末尾: ```javascript var str = '123456789'; console.log(str.substr(2)); // 输出 "3456789" console.log(str.substring(2)); // 输出 "3456789" ``` ### 总结 虽然 `substr` `substring` 都能实现字符串截取功能,但由于 `substr` 的第二个参数表示长度,而 `substring` 的第二个参数表示结束索引,因此在实际使用时需要注意两者的区别。此外,`substr` 在某些浏览器中可能不被推荐使用,因为其行为在不同环境中可能存在差异。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值