SQL子字符串中的替换问题

SQL子字符串中的替换问题,sql,sql-server-2008,replace,Sql,Sql Server 2008,Replace,我想将数字中的所有数字替换为*,而不是最后4位 这是我的桌子: Person ----------- PersonID PersonBadgeNumber numeric(16,0) 像这样的东西会有用的 DECLARE @badgeId Numeric(16, 0) = 1238985495; SELECT REPLICATE('*', LEN(@badgeId) - 4) + RIGHT(@badgeId, 4); -- Produces: ******5495 要在查询中使用它

我想将数字中的所有数字替换为
*
,而不是最后4位

这是我的桌子:

Person
-----------
PersonID PersonBadgeNumber numeric(16,0)

像这样的东西会有用的

DECLARE @badgeId Numeric(16, 0) = 1238985495;
SELECT
  REPLICATE('*', LEN(@badgeId) - 4) +
  RIGHT(@badgeId, 4);
-- Produces: ******5495
要在查询中使用它,请执行以下操作:

SELECT
  REPLICATE('*', LEN(PersonBadgeNumber) - 4) +
  RIGHT(PersonBadgeNumber, 4) RedactedBadgeNumber
FROM Person;

另一种方法是使用
STUFF()

上述申报表:

---------------- 
************3456 

请发布一些示例数据,以及示例前后的数据,并纠正有问题的语法错误。(澄清“替换所有数字”的含义。)ty!
---------------- 
************3456