SQL,INGRES:在一些char之后用空格替换

时间:2013-10-15 08:30:16

标签: sql ingres

days: char (31)
period : char (31)

days : 1234567891234567891234567891234
period: AAAAAAAAAABBBBBBBBBBCCCCCCCCCCD

我想在第20个字符

之后用*替换所有内容
days : 12345678912345678912***********
period:AAAAAAAAAABBBBBBBBBB***********

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试以下方式:

select 
  rpad(substr(days,1,20),length(days),'*'),
  rpad(substr(period,1,20),length(period),'*')
from table

答案 1 :(得分:0)

在SQL Server中:

 DECLARE @TABLE TABLE (DAYS VARCHAR(MAX), PERIOD VARCHAR(MAX))
insert into @table values 
('1234567891234567891234567891234', 'AAAAAAAAAABBBBBBBBBBCCCCCCCCCCD')

SELECT SUBSTRING(DAYS,1,20)+REPLICATE('*',LEN(DAYS)- 20),
SUBSTRING(PERIOD ,1,20)+REPLICATE('*',LEN(PERIOD)- 20) FROM @TABLE