Sql 在那种情况下是不可能的
根据澄清的要求: 您可以使用: 选择案例Sql 在那种情况下是不可能的,sql,string,oracle,Sql,String,Oracle,根据澄清的要求: 您可以使用: 选择案例 当len-split_点和的组合为?时,32个字符长的需求字段与建议的方法第32个字符前的最后一个空格不匹配,因为当第33个字符为空格时,则可以将长度正好为32个字符的字符串作为第一个子字符串。而且如果需要先将字符串拆分为29个字符的子字符串,则第二个子字符串的长度为34个字符,不适合32个字符的字段,因此需要将字符串拆分为3个部分。和的组合?32个字符的要求字段与建议的方法最后一个空格之间存在不匹配在第32个字符之前,如第33个字符是空格,则可以有一个
当len-split_点和的组合为?时,32个字符长的需求字段与建议的方法第32个字符前的最后一个空格不匹配,因为当第33个字符为空格时,则可以将长度正好为32个字符的字符串作为第一个子字符串。而且如果需要先将字符串拆分为29个字符的子字符串,则第二个子字符串的长度为34个字符,不适合32个字符的字段,因此需要将字符串拆分为3个部分。和的组合?32个字符的要求字段与建议的方法最后一个空格之间存在不匹配在第32个字符之前,如第33个字符是空格,则可以有一个长度正好为32个字符的字符串作为第一个子字符串。此外,如果您需要先将字符串拆分为29个字符的子字符串,则第二个子字符串的长度将为34个字符,并且不适合32个字符的字段,因此您需要将字符串拆分为3个部分。谢谢。该指令的结果在first32的末尾和last32的开头有空格。有什么好办法可以消除这个问题?@Fabian使用trim函数,并将索引编号修改为1。Updated@Fabian如果第33个字符中有空格,因此第一个字符串的长度正好为32个字符,则此操作不起作用。此外,在边缘情况下,您需要将字符串分为3部分,即29、29和4个字符。谢谢。该指令的结果在first32的末尾和last32的开头有空格。有什么好办法可以消除这个问题?@Fabian使用trim函数,并将索引编号修改为1。Updated@Fabian如果第33个字符中有空格,因此第一个字符串的长度正好为32个字符,则此操作不起作用。此外,在边缘情况下,您需要将字符串拆分为3部分,即29、29和4个字符。如果第33个字符中有空格,则第一个字符串的长度正好为32个字符,则此操作不起作用。此外,在边缘情况下,您需要将字符串拆分为3部分,即29、29和4个字符。如果第33个字符中有空格,则第一个字符串的长度正好为32个字符,则此操作不起作用。此外,在边缘情况下,您需要将字符串拆分为3个部分,即29、29和4个字符。我知道我将只拆分这些部分,拆分后的第二部分将不超过32个,即90%的情况。否则我会把它一分为二。在这种情况下,不可能拆分为3个字段case@Fabian更新。我知道我只会分割那些,分割后的第二部分将不超过32,这是90%的情况下。否则我会把它一分为二。在这种情况下,不可能拆分为3个字段case@Fabian更新。
regexp_replace(substr(name, 1, 32), '^(.* )[^ ]+$', '\1')
substr(name, length(regexp_replace(substr(name, 1, 32), '^(.* )[^ ]+$', '\1')) + 1)
select
SUBSTR(company,1,
INSTR(SUBSTR(company,1,32),' ',-1)
) as first32,
SUBSTR(company,
INSTR(SUBSTR(company,1,32),' ',-1)
) as last32
from
(select 'Some Random Very Long Comapany Name Co. Ltd.' as company from dual)
select
SUBSTR(company,1,
INSTR(SUBSTR(company,1,32),' ',-1)-1
) as first32,
SUBSTR(company,
INSTR(SUBSTR(company,1,32),' ',-1)+1
) as last32
select
RTRIM(SUBSTR(company,1,
INSTR(SUBSTR(company,1,32),' ',-1)
)) as first32,
LTRIM(SUBSTR(company,
INSTR(SUBSTR(company,1,32),' ',-1)
)) as last32
VALUE | SUBSTRING | IDX
:--------------------------------------------------------------- | :------------------------------- | --:
Some Random Very Long Comapany Name Co. Ltd. | Some Random Very Long Comapany | 1
Some Random Very Long Comapany Name Co. Ltd. | Name Co. Ltd. | 2
This string is 29 char. long. This string is 29 char. long. 4chr | This string is 29 char. long. | 1
This string is 29 char. long. This string is 29 char. long. 4chr | This string is 29 char. long. | 2
This string is 29 char. long. This string is 29 char. long. 4chr | 4chr | 3
This string is 30 chara. long. This string is 30 chara. long. 2c | This string is 30 chara. long. | 1
This string is 30 chara. long. This string is 30 chara. long. 2c | This string is 30 chara. long. | 2
This string is 30 chara. long. This string is 30 chara. long. 2c | 2c | 3
This string is 31 charac. long. This string is 32 charact. long. | This string is 31 charac. long. | 1
This string is 31 charac. long. This string is 32 charact. long. | This string is 32 charact. long. | 2
This string is 32 charact. long. This string is 31 charac. long. | This string is 32 charact. long. | 1
This string is 32 charact. long. This string is 31 charac. long. | This string is 31 charac. long. | 2
FIRST_SUBSTRING | SECOND_SUBSTRING
:------------------------------- | :-------------------------------
This string is 32 charact. long. | This string is 31 charac. long.
This string is 31 charac. long. | This string is 32 charact. long.
This string is 30 chara. long. T | his string is 30 chara. long. 2c
This string is 29 char. long. Th | is string is 29 char. long. 4chr
Some Random Very Long Comapany | Name Co. Ltd.