Jt2*_*uan 0 sql string replace
是否有任何SQL语句用'X'替换字符串中的所有内容.字符串的长度不一样,所以它有点棘手.除了下面的功能之外,我还没有找到任何可以做到这一点的东西,但是当我传入'a-z0-9'需要很长时间,因为我必须搜索所有这些,但我真的只是想要替换一切无论它是什么.
[dbo].[cfn_StripCharacters]
(
@String NVARCHAR(MAX),
@MatchExpression VARCHAR(255)='a-z0-9'
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
SET @MatchExpression = '%['+@MatchExpression+']%'
WHILE PatIndex(@MatchExpression, @String) > 0
SET @String = Stuff(@String, PatIndex(@MatchExpression, @String), 1, 'X')
RETURN @String
Run Code Online (Sandbox Code Playgroud)
例如,数据列看起来像这样,我想用x替换整个字符串:
975克 - > XXXX
ryth5 - > XXXXX
1234vvsdf5 - > XXXXXXXXXX
test1234 - > XXXXXXXX
如果这是SQL Server,您可以使用REPLICATE功能和简单复制x的LEN()字符串.
SELECT REPLICATE('x', LEN(@String))
Run Code Online (Sandbox Code Playgroud)
编辑 - 看起来这也可以通过MySQL获得,REPEAT()但我还没有测试过