1

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

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

用替换功能或其他方法做这个 t-sql 的任何想法?我被困在这里,任何帮助将不胜感激。非常感谢。

4

2 回答 2

1

我不确定您的上下文是什么,但这将转换XXX-XFG-EDRTExport_XXX_XFG_EDRT

'Export_' + REPLACE(ProcessID, '-', '_')
于 2013-09-19T21:25:43.223 回答
1

为了整洁,将您的 GUID 转换为varchar第一个,然后REPLACE在其上运行:

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

返回(至少,我最后一次运行它):

Export_8D997451_F7B6_4EC5_9CFC_478B7084811A
于 2013-09-19T22:46:49.370 回答