重命名在 SQL Server 中具有连字符的 GUID



SQL并尝试解决方案。箱:我们的系统运行不同的业务流程,并将流程结果集输出到一个名为"Export_PROCESSSID"的新表中。ProcessID 是 GUID (XXX-XFG-EDRT),但是当系统创建表时,它使用 ProcessID 但将其重命名为 (Export_XXX_XFG_EDRT)。连字符替换为下划线,并以"Export_"为前缀。

到目前为止:首先,我运行一个 select 语句来查找表中的最新Process_ID。现在我需要将此 GUID 从此格式"04ad20f5-3be6-481a-b341-d32f7702179f"重命名为此"Export_04ad20f5_3be6_481a_b341_d32f7702179f"。

有什么想法用替换函数或其他方法做这个t-sql吗?我被困在这里,任何帮助将不胜感激。非常感谢。

我不确定你的上下文是什么,但这会将XXX-XFG-EDRT转换为Export_XXX_XFG_EDRT

'Export_' + REPLACE(ProcessID, '-', '_')

为了整洁起见,请先将 GUID 转换为varchar,然后对其运行REPLACE

DECLARE @guid uniqueidentifier
SET @guid = newid()
SELECT 'Export_' + REPLACE(CONVERT(varchar(50), @guid), '-', '_')

返回(至少,我上次运行它):

Export_8D997451_F7B6_4EC5_9CFC_478B7084811A

最新更新