sql之如何在 SQL Server 和 Oracle SQL 中基于固定字符选择直到第 N 个空格的子字符串
youxin
阅读:19
2025-01-19 22:14:33
评论:0
我需要根据固定字符长度选择一个子字符串,直到第 N 个空格。让我解释一下这个问题。
假设我有三个不同的字符串:
- Lorem ipsum dolor sat amet,consectetur adipiscing elit
- Lorem ipsumdolor sat amet,consectetur adipiscing elit
- Lorem ipsum dolorsitamet,consectetur adipiscing elit
如果我从字符串开头选择 20 个字符,我会依次得到以下子字符串
- Lorem ipsum dolor si
- Lorem ipsumdolor 坐
- Lorem ipsum dolorsit
但我希望我的子字符串(最多 20 个字符长)像这样
- Lorem ipsum dolor
- Lorem ipsumdolor 坐
- Lorem ipsum
也就是说,我不希望两个空格之间有任何部分单词
请帮助我生成查询。
请您参考如下方法:
甲骨文:
select substr(substr(MyField,1,20), 1, instr(substr(MyField,1,20), ' ',-1,1))
from MyTable
SQL Server
SELECT LEFT(MyField, 20 - CHARINDEX (' ' ,REVERSE(LEFT(MyField,20))))
FROM MyTable
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。