无论名称的初始长度如何,我都希望每个完整字符串的最终长度恰好为100个字符。
比方说我将添加空格。
fullname
..............
Amima Meskin => LEN=> 12
Jericho Shakoor => LEN=> 15
Umara Sham => LEN=> 10
user_table
==========
firstname
lastname
phonenmb
city
所以。。
select CONCAT(firstname,' ',lastname)
as fullname
from user_table
如何为Jericho Shakoor添加=>LEN=>15,例如15个额外的空间达到85,等等
您可以将其铸造为CHAR(100)
(或NCHAR(100)
(,例如
SELECT CAST(CONCAT(firstname,' ',lastname) AS char(100))
CHAR和NCHAR具有固定数量的字符(不同于VARCHAR和NVARCHAR,它们最多具有指定的数量(。参见
- https://learn.microsoft.com/en-us/sql/t-sql/data-types/char-and-varchar-transact-sql?view=sql-服务器版本15
- https://learn.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql?view=sql-服务器版本15
您也可以在字符串末尾添加100个空格,然后取其LEFT(100(,例如
select LEFT(CONCAT(firstname,' ',lastname) + REPLICATE(' ', 100), 100)
根据您的问题,我所理解的是,您需要将特定字符与字符串值一起填充,以使它们具有相同的长度。如果是,你可以按照以下方法
SELECT
fullname = SUBSTRING(CONCAT(firstname,' ',lastname)+REPLICATE('X',20),1,20)
FROM user_table