每个字符串的长度恰好为100个字符



无论名称的初始长度如何,我都希望每个完整字符串的最终长度恰好为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

最新更新