我想在SQL server中执行此操作:
如果我有像Johnny English'这样的名字,
如何在查询中显示这个' J ***** E ******'?
谢谢!
答案 0 :(得分:0)
假设您在此处有两列数据,并且您只需要第一个字符,但其余字符为星号。您可以使用REPLICATE执行此操作。
https://docs.microsoft.com/en-us/sql/t-sql/functions/replicate-transact-sql
declare @FirstName varchar(20) = 'Johnny'
, @LastName varchar(20) = 'English'
select left(@FirstName, 1) + replicate('*', len(@FirstName) - 1) + ' ' + left(@LastName, 1) + replicate('*', len(@LastName) - 1)
答案 1 :(得分:0)
此代码将为第一个单词添加星标。它假定后续的单词由至少一个空格分隔
declare @test varchar(20)='Johnny English'
declare @StarNum int
set @StarNum=charindex(' ',@test)-2
select stuff(@test,2,@StarNum,replicate('*',@StarNum))