使用 SQL 中的其他字符更新文本

updating a text with additional characters in SQL

我有以下值格式:

1234567890

我想将其转换为以下格式:123-45A67890

Table姓名:测试

列名称:MyCode

请注意,我使用的是 Microsoft SQL 2012。

您可以使用 STUFF。像这样

DECLARE @v VARCHAR(15) = '1234567890'

SELECT STUFF(STUFF(@v,4,0,'-'),7,0,'A')

你的 SELECT 会是

SELECT STUFF(STUFF(MyCode,4,0,'-'),7,0,'A')
 FROM Test

您的 UPDATE 将是

UPDATE Test
SET MyCode = STUFF(STUFF(MyCode,4,0,'-'),7,0,'A')

SQL服务器是否支持PASTE功能?

paste(paste('1234567890',7,0,'A'),4,0,'-')

例如:

select paste(paste(column_name,7,0,'A'),4,0,'-') from table_name

update table_name set column_name = paste(paste(column_name,7,0,'A'),4,0,'-')

这里尝试使用变量 @a

declare @a varchar(100)='1234567890'

select STUFF(STUFF(@a,4,0,'-'),7,0,'A') --gives--> '123-45A67890'

您可能可以使用它来更新您的 table,

  1. Adds Hyphen (-) after first 3rd character,
  2. Adds letter 'A' after 2 letters just after hyphen...
update Test set MyCode = STUFF(STUFF(MyCode,7,0,'A'),4,0,'-')

更多关于STUFF() function in SQL