我在SQLite中有多行,每行有一列包含这样的数据:
prosperکامیاب شدن ، موفق شدن ، رونق یافتن
正如你所看到的,句子以英文单词开头,现在我想在每个句子的第一句删除英文单词。有没有办法通过T-SQL查询(使用Regex)?
答案 0 :(得分:1)
你可以试试这个:)我把它作为一个函数来调用
create function dbo.RemoveEngChars (@Unicode_string nvarchar(max))
returns nvarchar(max) as
begin
declare @i int = 1; -- must start from 1, as SubString is 1-based
declare @OriginalString nvarchar(100) = @Unicode_string collate SQL_Latin1_General_Cp1256_CS_AS
declare @ModifiedString nvarchar(100) = N'';
while @i <= Len(@OriginalString)
begin
if SubString(@OriginalString, @i, 1) not like '[a-Z]'
begin
set @ModifiedString = @ModifiedString + SubString(@OriginalString, @i, 1);
end
set @i = @i + 1;
end
return @ModifiedString
end
--To call the function , you can run the following script and pass the Unicode in N' prefix
select dbo.RemoveEngChars(N'prosperکامیاب شدن ، موفق شدن ، رونق یافتن')