首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果只存在4和5个标记,如何在ORACLE SQL中子串由点分隔的字符串中的最后两个标记

在ORACLE SQL中,可以使用SUBSTR和INSTR函数来获取由点分隔的字符串中的最后两个标记。

首先,使用INSTR函数找到字符串中最后一个点的位置。然后,使用SUBSTR函数截取从最后一个点位置开始的子串。接着,再次使用INSTR函数找到截取的子串中最后一个点的位置。最后,使用SUBSTR函数截取从最后一个点位置开始的子串,即为最后两个标记。

以下是示例代码:

代码语言:txt
复制
SELECT SUBSTR(
         SUBSTR('字符串.由.点.分隔', INSTR('字符串.由.点.分隔', '.', -1) + 1),
         INSTR(SUBSTR('字符串.由.点.分隔', INSTR('字符串.由.点.分隔', '.', -1) + 1), '.', -1) + 1
       ) AS 最后两个标记
FROM dual;

解释一下代码的逻辑:

  1. INSTR('字符串.由.点.分隔', '.', -1):找到字符串中最后一个点的位置。
  2. SUBSTR('字符串.由.点.分隔', INSTR('字符串.由.点.分隔', '.', -1) + 1):截取从最后一个点位置开始的子串。
  3. INSTR(SUBSTR('字符串.由.点.分隔', INSTR('字符串.由.点.分隔', '.', -1) + 1), '.', -1):找到截取的子串中最后一个点的位置。
  4. SUBSTR(SUBSTR('字符串.由.点.分隔', INSTR('字符串.由.点.分隔', '.', -1) + 1), INSTR(SUBSTR('字符串.由.点.分隔', INSTR('字符串.由.点.分隔', '.', -1) + 1), '.', -1) + 1):截取从最后一个点位置开始的子串,即为最后两个标记。

请注意,以上代码中的字符串是示例字符串,你可以根据实际情况替换为你要处理的字符串。

关于ORACLE SQL的更多信息,你可以参考腾讯云的产品介绍页面:ORACLE SQL

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【C语言加油站】详细解读字符函数与字符串函数

; 当被修改过字符串已经没有标记时,则返回空指针; 当传入字符串无法找到分隔符集中分隔符时,返回该字符串; 这里需要注意是传入字符串应该是可被修改如果传入是常量字符串,则函数无法正常运行...Delimit字符集中分隔符可以被修改; strtok在第一次调用时会跳过strToken前导分隔符; strtok函数在调用时,函数会对不同情况做出不同处理: 如果字符串strToken存在标记分隔符...,会将标记末尾分隔符修改为'\0'并返回一个指向该标记指针; 如果字符串strToken存在分隔符,则会返回指向字符串strToken指针; 如果字符串strToken存在标记,则会返回NULL...; strtok每次调用只能查找一个标记; 在第一次调用如果字符串strToken存在分割符,则函数会修改字符串; 在后续调用如果想要继续查找被修改字符串strToken后续标记,需要将参数...如果大家喜欢博主内容,大家可以赞、收藏加评论支持一下博主。当然也可以转发给身边需要朋友。最后感谢各位支持,咱们下一篇内容见!!!

12210
  • 22 Java 正则表达式

    如果字符串包含 $ \,但是又不希望它们被解释成群组替换符,那么就可以调用atcher.replaceAll(Matcher.quoteReplacement(str))。...replaceFirst 方法将替换模式第一次出现。 切割 最后,Pattern 类有一个 split 方法,它可以用正则表达式来匹配边界,从而将输入分割成字符串数组。...例如,下面的指令可以将输入分割成标记,其中分隔符是可选空白字符包围标点符号。...返回标记数组,分隔符并非标记一部分。 参数: input 要分割成标记字符串 limit 所产生字符串最大数量。...如果已经发现了 limit - 1 个 匹配分隔符,那么返回数组最后一项就包含所有剩余 未分割输入。

    42310

    巧用SQLoracle plsql split函数

    李伟 专注于oracle pl/sql开发Java开发,擅长复杂业务逻辑、算法pl/sql实现。 背景 在软件开发过程中程序员经常会遇到字符串拼接拆分工作。...执行,sql返回结果用List接收,并在service层遍历List拼接字符串,将拼接后字符串封装在实体类(BO/VO),再按JSON格式返回给前台。...解决方案 本文要做就是单句SQL实现该功能。 先分析一下,该业务有两个关键。 一是字符串拼接,oracle(11.2)提供了listagg函数已经实现了该功能,我们直接使用就可以。...split函数功能是将字符串按照特定字符分隔为多个小字符串,返回结果以List或数组类型保存。...由于种种原因吧,我们现在要说不是一般设计,而是直接在书籍表怎么作者属性,取值为作者表主键,但存在多个作者时用','分隔。 好。业务场景描述清楚了,现在开始建表初始化数据。 ?

    2.2K60

    Oracle PLSQL语句基础学习笔记(上)

    PL/SQL 不是一个独立产品,他是一个整合到ORACLE服务器ORACLE工具技术,可以把PL/SQL看作ORACLE服务器内一个引擎,sql语句执行者处理单个sql语句,PL/SQL引擎处理...PL/SQL每一条语句都必须以分号结束,SQL语句可以使多行,但分号表示该语句结束。一行可以有多条SQL语句,他们之间以分号分隔。...包两个部分组成:规范包主体(body),规范描述变量、常量、游标、子程序,包体完全定义子程序游标。...用于存储二进制数据字节 字符串,当在两个数据库之间进行传递时,RAW数据不在字符集之间进行转换...两个条件都必须满足 OR 只要满足两个条件一个 NOT 取反 ---- ---- 4、执行部分 执行部分包含了所有的语句表达式,执行部分以关键字BEGIN开始,以关键字

    2.8K10

    Oracle数据库之单行函数详解

    对开发者而言,最为重要就是 SQL 语法单行函数,可是 Oracle 单行函数数量是非常多。...数值),而且在Oracle 书中讲解基本一些单行函数。...函数名称 描述 1 UPPER(列|字符串) 将字符串内容全部转大写 2 LOWER(列|字符串) 将字符串内容全部转小写 3 INITCAP(列|字符串) 将字符串开头首字母大写 4 REPLACE...,在 Oracle 里面所有的验证操作必须存在在完整 SQL 语句之中,所以如果现在只是进行功能验证,使用是一张具体表。...,星期数) 求出下一个星期几具体日期 4 LAST_DAY(日期) 求出指定日期所在月最后一天日期 5 EXTRACT(格式 FROM 数据) 日期时间分隔,或计算给定两个日期间隔 范例:验证

    2.6K10

    字符串函数、字符函数、内存函数使用及其模拟实现

    如果字符串长度小于num,则复制到终止空字符内容 strncmp 函数功能 字符串比较,比较两个字符串前num个字节大小。...如果查找成功,返回字符串中子所在位置首地址,如果查找失败,则返回NULL。...; # char* str 指定一个字符串,它包含了0个或者多个sep字符串中一个或者多个分隔符分割标记; # char* sep 一个字符串,定义了用作分隔字符集合; 函数使用 #include...第一个参数指定一个字符串,它包含了0个或者多个sep字符串中一个或者多个分隔符分割标 记; strtok函数找到str下一个标记,并将其用 \0 结尾,返回一个指向这个标记指针。...,strtok函数将保存它在字符串位置; strtok函数第一个参数为 NULL ,函数将在同一个字符串中被保存位置开始,查找下一个标记如果字符串存在更多标记,则返回 NULL 指针;

    1.9K00

    Oracle数据库相关经典面试题

    回退部分事务ROLLBACK命令为:ROLLBACK to savepoint 存储点名:存储是用户放入事务标记,用来表示一个可被回退位置。...每当在服务器上启动数据库时,就在内存创建一个Oracle实例,即Oracle为数据库分配内存创建并启动一个或多个Oracle进程,然后由实例加载并打开数据库,最后由这个实例来访问控制硬盘数据文件...答∶ Pl/sql 块结构包括:定义部分,执行部分,异常处理部分。 Oracle字符串用什么符号链接?...答∶ Oracle中使用 || 这个符号连接字符串 ‘abc’ || ‘d’ Oracle是怎样分页?...,完全外部联接把两个表都标记为保留表)未找到匹配行将作为外部行添加到 VT2,生成VT3.如果FROM子句包含两个以上表,则对上一个联接生成结果表下一个表重复执行步骤1到步骤3,直到处理完所有的表为止

    2.2K20

    正则表达式(RegEx)官方手册权威指南【Python】

    因此 r"\n" 表示包含 '\' 'n' 两个字符字符串,而 "\n" 则表示包含一个换行符字符串。 样式在 Python 代码通常都会使用这种原始字符串表示法来表示。...如果 LOCALE 标记被设置的话,词边界是当前语言区域设置决定,\b 表示退格字符,以便与Python字符串文本兼容。 \B 匹配空字符串,但 不 能在词开头或者结尾。...相当于前面语法内联标志 (?a) 。 注意,为了保持向后兼容, re.U 标记依然存在(还有他同义 re.UNICODE 嵌入形式 (?...如果在 pattern 捕获到括号,那么所有的组里文字也会包含在列表里。如果 maxsplit 非零, 最多进行 maxsplit 次分隔, 剩下字符全部返回到列表最后一个元素。...', ''] 这样的话,分隔组将会出现在结果列表同样位置。 样式空匹配将分开字符串,但在不相临状况生效。

    5.7K20

    Python 换行符以及如何在 Python 输出时不换行

    Python 换行符用于标记结尾新行开始。如果你想将输出打印到控制台并使用文件,那么你非常需要知道如何使用它。...在本文中,你将学习: 如何在 Python 识别换行符 如何在字符串打印语句中使用换行符 如何编写不会在字符串末尾添加换行符打印语句 我们开始吧!...✨ 换行符 Python 换行符是: 它包含两个字符: 一条反斜线 字母 n 如果你在字符串中看到此字符,则表示当前行在该结束,并在其后立即开始新行: 你也可以在格式化字符串(f-strings...如果在此示例中使用默认值: 我们会看到结果打印为两行: 但是,如果我们将 end 值设置为 " ": 将在字符串末尾添加一个空格,而不是新行字符 \n,因此两个打印语句输出将显示在同一行:...你可以打印字符串而无需添加新 end = 行,其中 是将用于分隔字符。 希望你喜欢我文章并发现它对你有所帮助。

    13.9K10

    Pythonre模块 --- 正则表达式操作

    因此 r"\n" 表示包含 '\'  'n' 两个字符字符串,而 "\n" 则表示包含一个换行符字符串。 样式在 Python 代码通常都会使用这种原始字符串表示法来表示。...如果 LOCALE 标记被设置的话,词边界是当前语言区域设置决定,\b 表示退格字符,以便与Python字符串文本兼容。 \B 匹配空字符串,但 不 能在词开头或者结尾。...相当于前面语法内联标志 (?a) 。 注意,为了保持向后兼容, re.U 标记依然存在(还有他同义 re.UNICODE 嵌入形式 (?...如果在 pattern 捕获到括号,那么所有的组里文字也会包含在列表里。如果 maxsplit 非零, 最多进行 maxsplit 次分隔, 剩下字符全部返回到列表最后一个元素。...', ''] 这样的话,分隔组将会出现在结果列表同样位置。 样式空匹配将分开字符串,但在不相临状况生效。

    2.4K30

    Oracle常用语句

    , 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''....年-月-日 小时:分钟:秒 格式YYYY-MM-DD HH24:MI:SS INSERT时最大可操作字符串长度小于等于4000个单字节, 如果要插入更长字符串, 请考虑字段用CLOB类型, 方法借用...二.数据定义 (DDL) 部分 1.CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等) ORACLE常用字段类型有 CHAR 固定长度字符串 VARCHAR2 可变长度字符串...; 一个表索引最好不要超过三个 (特殊大表除外), 最好用单字段索引, 结合SQL语句分析执行情况, 也可以建立多字段组合索引基于函数索引 ORACLE8.1.7字符串可以索引最大长度为1578...请问如何在oracle取毫秒?  9i之前不支持,9i开始有timestamp.  9i可以用select systimestamp from dual; 46. 如何在字符串里加回车?

    2.7K40

    linux bash shell 特殊字符大全

    用在连接一连数学表达式,这数学表达式均被求值,但只有最后一个求值结果被返回。: #!...在参数替换字符串变量赋值,在重定向操作(>),把一个文件长度截断为0(:>>这样用时候,目标存在则什么都不做),这个只能在普通文件中使用,不能在管道,符号链接其他特殊文件中使用; 5....双引号包围内容可以允许变量扩展,也允许转义字符存在如果字符串内出现双引号本身,需要转义,因此不一定双引号是成对。...用在连接一连数学表达式,这数学表达式均被求值,但只有最后一个求值结果被返回。: #!...在字符串或变量如果有空白符,可以使用引号来规避可能错误。

    6.6K30

    SQL函数 $LENGTH

    $LENGTH(expression,delimiter) 返回字符串中子字符串数量。 $LENGTH 返回指定分隔符相互分隔字符串数量。...所有 SQL 函数始终使用字段内部存储值。 $LENGTH 返回数字规范形式长度。规范形式数字不包括前导零尾随零、前导符号(单个减号除外)尾随小数分隔符。...如果没有匹配,带有非空分隔 $LENGTH(expression,delimiter) 将返回 1 分隔字符串计数。完整字符串是不包含分隔单个子字符串。...: SELECT $LENGTH('ABCDEG') AS StringLength 6 以下示例返回 3,即字符串字符串数,美元符号 ($) 字符分隔。...此函数可与 $EXTRACT 函数一起使用,该函数按位置定位子字符串并返回子字符串值。 带有两个参数 $LENGTH 根据分隔符返回字符串中子字符串数量。

    1.8K30

    SQL函数 XMLELEMENT

    NAME关键字是可选。该参数有三种语法形式: NAME "tag", "tag"NAME。前两者在功能上是相同如果指定,标记必须用双引号括起来。标签字母大小写保持不变。...tag 参数使用双引号将文字字符串括起来。在几乎所有其他上下文中,SQL 使用单引号将文字字符串括起来;它使用双引号来指定分隔标识符。...当 SQL代码被指定为用双引号分隔字符串时,例如在动态 SQL %Prepare() 方法,必须通过指定两个双引号来转义标记双引号,如下所示:/// d ##class(PHA.TEST.SQLFunction...返回指定表达式值,开始标记结束标记括起来,格式如下:value如果标记值是空字符串 ('') 值或 NULL,则返回以下内容:如果表达式包含多个逗号分隔元素...XMLFOREST 不允许指定标记属性。 XMLELEMENT 返回 NULL 标记字符串。 XMLFOREST 不返回 NULL 标记字符串

    1.2K20

    开心档-软件开发入门之MySQL 导出数据

    博客主页: ​​开心档博客主页​​ 欢迎关注赞收藏⭐留言 本文开心档原创! 51CTO首发时间:2022年12月12日 ✉️这世界很喧嚣,做自己就好!...如果没有指定,则文件在服务器上按路径读取文件。你能明确地在LOAD DATA语句中指出列值分隔行尾标记,但是默认标记是定位符换行符。...两个命令 FIELDS LINES 子句语法是一样两个子句都是可选,但是如果两个同时被指定,FIELDS 子句必须出现在 LINES 子句之前。...默认分隔符是跳格符(Tab)--lines-terminated- by=str 此选项指定文本文件中行与行之间数据分隔字符串 或者字符。...默认情况下mysqlimport以newline为行分隔符。 您可以选择用一个字符串来替代一个单个字符: 一个新行或者一个回车。

    58820

    SQL函数 JSON_OBJECT

    [NULL ON NULL | ABSENT ON NULL]) 参数 key:value - 键:值对或逗号分隔键:值对列表。键是单引号分隔用户指定文字字符串。...值可以是列名、聚合函数、算术表达式、数字或字符串文字或文字NULL。 ABSENT ON NULL NULL ON NULL - 可选-指定如何在返回JSON对象中表示空值关键字短语。...返回JSON对象列被标记为表达式(默认情况下);可以为JSON_OBJECT指定列别名。 选择模式排序 当前%SelectMode属性确定返回JSON对象值格式。...通过更改选择模式,所有日期%LIST值都会以该选择模式格式字符串形式包含在JSON对象。...,则NULL默认值为NULL:NULL单词NULL(未用引号分隔)表示,作为key:value对值。

    2.9K20

    Oracle转换Postgres

    DECODECASE模拟方式有一不同:DECODE (x,NULL,'null','else'),如果x为NULL则返回NULL;而CASE x WHEN NULL THEN 'null' ELSE...空字符串与NULL Oracle,strings()空NULL在字符串内容相同。可以将NULL和和一个字符串连接起来作为结果。但是在postgres,这种情况得到结果是NULL。...Oracle需要使用IS NULL操作符来检测字符串是否为空。Postgres,对于空字符串得到结果是FALSE,而NULL得到是TRUE。...当从Oracle向postgres转换时,需要分析字符代码,分离出NULL字符串。...很多中情况下,使用PGTIMESTAMP就足够了。由于date包含秒、分、小时、天、月年,所以一些情况下不是精确结果。没有几分钟、没有夏令时、没有时区。

    5.8K00
    领券