subString 的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了subString 的用法相关的知识,希望对你有一定的参考价值。

我想用substring 截取字符。
比如 "name | sex | major " 我想从第一个 | 截取 以后的内容,该怎么写?
能不能从 后往前截取? 比如说 从最后一个字母截取到 第一个 | ?
多谢各位,我已经找到方法了。用split 可以实现功能。

语法

SUBSTRING ( value_expression ,start_expression , length_expression )

参数
value_expression 是 character、binary、text、ntext 或 image 表达式。
start_expression 指定返回字符的起始位置的整数或 bigint 表达式。如果 start_expression 小于 0,会生成错误并终止语句。如果 start_expression 大于值表达式中的字符数,将返回一个零长度的表达式。
length_expression 是正整数或指定要返回的 value_expression 的字符数的 bigint 表达式。如果 length_expression 是负数,会生成错误并终止语句。
如果 start_expression 与 length_expression 的总和大于 value_expression 中的字符数,则返回整个值表达式。

如 substring('name | sex | major',charindex ( '|' ,'name | sex | major')+1,len('name | sex | major')-charindex ( '|' ,'name | sex | major')) ='sex | major'

从后往前截取好像不太方便的,建议参考帮助文档。
参考技术A 第一个|截取以后内容(几个单词之间没有空格,如果有空格也要加位):
string aa = “name|sex|major”
string dd = aa.Substring(5);
Substring就是截取开始的位置索引。

至于你说从后往前截取,不知道你要的是截取后结果是单词也反向排列,还是单词还是这样。
要是反向的话,那就要把你这个字符串截取成每一个字符,然后从新倒序。要是单词不反向的话还是Substring的用法,只是索引找对就可以了。

Oracle中substr用法,如果截取长度超过值的长度会返回啥值。

如题:例一个字符串长度10,我从第4位开始截取8位,会返回什么

Oracle中substr用法,如果截取长度超过值的长度会返回全部字符串长度。
用法举例:
substr( string, start_position, [ length ] )
取得字符串中指定起始位置和长度的字符串
如:

substr(\'This is a test\', 6, 2) would return \'is\'
substr(\'This is a test\', 6) would return \'is a test\'
substr(\'TechOnTheNet\', -3, 3) would return \'Net\'
substr(\'TechOnTheNet\', -6, 3) would return \'The\'
select substr(\'Thisisatest\', -4, 2) value from dual
参考技术A 直接截取到最后,不会有其他字符
比如123456
如果从第二位开始,截取10位,那么结果是23456。本回答被提问者和网友采纳

以上是关于subString 的用法的主要内容,如果未能解决你的问题,请参考以下文章

subString的用法

js中substring和substr的用法

substring的用法

Oracle中substr用法,如果截取长度超过值的长度会返回啥值。

subString 的用法

js中substring和substr的用法