Hasznos funkció: fnIsGuid
Ismét alkotni kellett, bár most a saját hülyeségem miatt 😀 Van egy táblám, amiben nvarchar(max) típusú oszlopba sokfajta adatot tartok, de nekem csak azok kellenek, amik uniqueidentifier típusúak.
Találtam egy függvényt (ezen az oldalon: http://weblogs.sqlteam.com/mladenp/archive/2005/08/16/7545.aspx), ami ezt a problémát megoldja:
1CREATE FUNCTION [dbo].[fnIsGUID]
2(
3 @input varchar(38)
4)
5RETURNS INT
6AS
7BEGIN
8 DECLARE @RetVal int = 0;
9 DECLARE @Guid varchar(36) = REPLACE(REPLACE(@input, '{', ''), '}', '');
10
11 SET @RetVal = CASE
12 WHEN @Guid LIKE
13 (REPLICATE('[0-9A-Fa-f]',8) + '-' +
14 REPLICATE('[0-9A-Fa-f]',4) + '-' +
15 REPLICATE('[0-9A-Fa-f]',4) + '-' +
16 REPLICATE('[0-9A-Fa-f]',4) + '-' +
17 REPLICATE('[0-9A-Fa-f]',12)) THEN 1
18 ELSE 0 END;
19RETURN @RetVal;
20
21END
22GO