知道下一个字符后,替换值中的文本

Rud*_*cht 5 sql sql-server sql-server-2008

我正在尝试替换我的一个SQL列中的文本.通过找到/*REPLACE*/下一个字符为数字值的所有引用,可以很容易地找到要替换的文本,该值必须加满5000.

下面显示原始值的示例.

var checkIn = moment(FIELD(/*REPLACE*/4,/*REPLACE*/9).GET());  
var checkOut = moment(FIELD(/*REPLACE*/4,/*REPLACE*/10).GET());    
if (checkIn > checkOut) {      
    FIELD(/*REPLACE*/4,/*REPLACE*/10).SET(checkIn.format("DD MMM YYYY"));      
    checkOut = moment(FIELD(/*REPLACE*/4,/*REPLACE*/10).GET());  
}    
FIELD(/*REPLACE*/4,/*REPLACE*/11).SET(parseFloat(checkOut.diff(checkIn, "days")).toFixed(2));
Run Code Online (Sandbox Code Playgroud)

我需要查找所有引用/*REPLACE*/并增加以下字符,数字为5000.

下面显示了新值的示例.

var checkIn = moment(FIELD(5004,5009).GET());  
var checkOut = moment(FIELD(5004,5010).GET());    
if (checkIn > checkOut) {      
FIELD(5004,5010).SET(checkIn.format("DD MMM YYYY"));      
checkOut = moment(FIELD(5004,5010).GET());  
}    
FIELD(5004,5011).SET(parseFloat(checkOut.diff(checkIn, "days")).toFixed(2));
Run Code Online (Sandbox Code Playgroud)

我已经开始使用基本但是在文本之后找到了数字字符而迷失了方向.

SELECT column.REPLACE(column, '/*REPLACE*/',
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

小智 0

您真的需要在 SQL Server 上执行此操作并使用 T-SQL 吗?第三代编程语言(例如C++、C#、VB.NET等)支持更强大的字符串操作方法;例如,您可以使用正则表达式,但 SQL Server 本身并未实现该表达式。

您可以设计 SQL CLR 函数或过程来解决此限制,但更合适的替代方案是使用客户端应用程序。您还可以将 SQL Server Integration Services 与脚本转换结合使用(您可以使用 C# 或 VB.NET)。

机器学习