如何拆分一个句子并在一列上只剩下 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
如何拆分一个句子,在一列上只剩下 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