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