假设我有一个"SELECT*FROM TABLE",它会导致很多行和很多列。
如果我不想用X或*替换第三列中的最后4个字符,我该如何编写查询?
在sql server中,以下操作将起作用:
DECLARE @test VARCHAR(100)= '123456789'
SELECT STUFF(@test, LEN(@test)-3, 4, 'XXXX')
返回:12345XXXX
这可能有助于
declare @value varchar(100) = 'Replace 4 characters '
select LEFT (@value, LEN(@value)-4) + REPLICATE('X',4)
尝试此查询
select LEFT (SOCIALNUM , LEN(SOCIALNUM )-4) + REPLICATE('X',4) ,* from CLIENT
如果字符串长于4个,则将最后4个字符替换为"XXXX">
SELECT IIF(LEN(Column3) > 4, STUFF(Column3, LEN(Column3) - 3, 4, 'XXXX'), Column3)
或者如果你知道长度总是10
SELECT STUFF(Column3, LEN(Column3) - 3, 4, 'XXXX')
我知道我参加派对有点晚,但我喜欢贡献,所以让我们从另一个角度来尝试一下,因为我们可能只需要ssn的出生日期,对吧?(假设,开枪(
SELECT LEFT(SOCIALNUM,6)+'****',*
FROM CLIENT
WHERE CLIENTTYPE = '12'
试试这个,
SELECT Replace(Name,right(Ltrim(rtrim(Name((,4(,'XXXX'(,Name自[dbo]。【员工】