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