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的任何想法?我被困在这里,任何帮助将不胜感激。非常感谢。
答案 0 :(得分:1)
我不确定您的上下文是什么,但这会将XXX-XFG-EDRT
转换为Export_XXX_XFG_EDRT
:
'Export_' + REPLACE(ProcessID, '-', '_')
答案 1 :(得分:1)
为了整洁,首先将您的GUID转换为varchar
,然后在其上运行REPLACE
:
DECLARE @guid uniqueidentifier
SET @guid = newid()
SELECT 'Export_' + REPLACE(CONVERT(varchar(50), @guid), '-', '_')
返回(至少,我最后一次运行它):
Export_8D997451_F7B6_4EC5_9CFC_478B7084811A