Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. if object_id('dbo.GetCurrentOrDefault') is not null drop function GetCurrentOrDefault
  2.  
  3. go
  4.  
  5. create function GetCurrentOrDefault(@valueOrDefault nvarchar(17)) returns nvarchar(17)
  6. begin
  7. declare @current_value as nvarchar(17);
  8. declare @default_value as nvarchar(17);
  9. declare @value_separator_index as int
  10.  
  11. select @value_separator_index = charindex('|', @valueOrDefault)
  12.  
  13. if @value_separator_index = 0 return null
  14.  
  15. select @current_value = substring(@valueOrDefault, 0, @value_separator_index)
  16. select @default_value = substring(@valueOrDefault, @value_separator_index + 1, len(@valueOrDefault) - @value_separator_index + 1)
  17. return iif(@valueOrDefault like '{%}|%', @default_value, @current_value)
  18. end
  19.  
  20. go
  21.  
  22. declare @env as nvarchar(51) = N'{Environment}|production'
  23. declare @ver as nvarchar(59) = N'{Version}|3.9.0'
  24.  
  25. select @env = dbo.GetCurrentOrDefault(@env)
  26. select @ver = dbo.GetCurrentOrDefault(@ver)
  27.  
  28. if @env is null raiserror ('Invalid environment: ' + @env, 16, 1)
  29. if @ver is null raiserror ('Invalid version: ' + @ver, 16, 1)
  30.  
  31. .GetSql().Format(new { Environment = "test", Version = "4.0.0" })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement