如何拆分一个句子并在一列上只剩下 15 个或更少(不大于 15)个字符,但最后它可能是一个完整的单词

How to split a sentence and get only left 15 or less (Not greater than 15) characters on one column but at the end it could be a complete word

如何拆分一个句子,在一列上只剩下 15 个或更少(不超过 15)个字符,但它可能是一个完整的单词。

示例:Ali, House Number ABC/123, Sattelite Town, Lahore.

Column 01           Column 02           Column 03           Column 04
Ali, House          NumberABC/123,      Sattelite Town,     Lahore.

这里需要支持。

您可以尝试这样的操作:

DECLARE @Str VARCHAR(100) = 'Ali, House Number ABC/123, Sattelite Town, Lahore.'

SELECT LEFT(LEFT(@Str, 15) , 15 - CHARINDEX(' ', REVERSE(LEFT(@Str, 15))) )

改进@M.Ali解决方案:

declare @Str varchar(100) =
    'Ali, House NumberABC/123, Sattelite Town, Lahore.', @bit varchar(16)
declare @tb table (split varchar(15))

set @Str += ' '
while rtrim(@Str)>''
begin
    select  @bit = rtrim(left(left(@Str, 16),
                    16 - charindex(' ', reverse(left(@Str, 16))))),
            @Str = ltrim(substring(@str, len(@bit) + 1, 100))
    insert into @tb values (@bit)
end
select * from @tb