CONVERT([varchar](max), binarydata, 1)
SELECT 'UPDATE table SET Field1 = Value 1 WHERE id = 14006 '+ CHAR(13)+CHAR(10) +'GO'
FROM table WHERE id = 14006
Tuesday, 25 April 2017
Tuesday, 11 April 2017
Excel VBS for ConcatenateRange
Function ConcatenateRange(ByVal cell_range As Range, ByVal marks As Range) As String
Dim cell As Range
Dim coursesString As String
Dim cellArray As Variant
Dim cellArray2 As Variant
Dim i As Long, j As Long
Dim CoursesArray As New Collection
cellArray = cell_range.Value
cellArray2 = marks.Value
' Add courses into array if there's mark
For i = 1 To UBound(cellArray, 1)
For j = 1 To UBound(cellArray, 2)
If Len(cellArray(i, j)) <> 0 Then
' check if there's mark and add course to courses array
If cellArray2(i, j) <> 0 Then
CoursesArray.Add (cellArray(i, j))
End If
End If
Next
Next
'return string of courses delimited with new line character
For Each CourseId In SortCollection(CoursesArray)
coursesString = coursesString & (CourseId & Chr(10))
Next CourseId
' return result
ConcatenateRange = coursesString
End Function
' sort collection
Function SortCollection(Optional ByVal listToSort As Collection) As Collection
Dim list As Collection
Dim vItm As Variant
Dim i As Long, j As Long
Dim vTemp As Variant
Set list = listToSort
'Two loops to bubble sort
For i = 1 To list.Count - 1
For j = i + 1 To list.Count
If list(i) > list(j) Then
'store the lesser item
vTemp = list(j)
'remove the lesser item
list.Remove j
're-add the lesser item before the
'greater Item
list.Add vTemp, vTemp, i
End If
Next j
Next i
' return result
Set SortCollection = list
End Function
Dim cell As Range
Dim coursesString As String
Dim cellArray As Variant
Dim cellArray2 As Variant
Dim i As Long, j As Long
Dim CoursesArray As New Collection
cellArray = cell_range.Value
cellArray2 = marks.Value
' Add courses into array if there's mark
For i = 1 To UBound(cellArray, 1)
For j = 1 To UBound(cellArray, 2)
If Len(cellArray(i, j)) <> 0 Then
' check if there's mark and add course to courses array
If cellArray2(i, j) <> 0 Then
CoursesArray.Add (cellArray(i, j))
End If
End If
Next
Next
'return string of courses delimited with new line character
For Each CourseId In SortCollection(CoursesArray)
coursesString = coursesString & (CourseId & Chr(10))
Next CourseId
' return result
ConcatenateRange = coursesString
End Function
' sort collection
Function SortCollection(Optional ByVal listToSort As Collection) As Collection
Dim list As Collection
Dim vItm As Variant
Dim i As Long, j As Long
Dim vTemp As Variant
Set list = listToSort
'Two loops to bubble sort
For i = 1 To list.Count - 1
For j = i + 1 To list.Count
If list(i) > list(j) Then
'store the lesser item
vTemp = list(j)
'remove the lesser item
list.Remove j
're-add the lesser item before the
'greater Item
list.Add vTemp, vTemp, i
End If
Next j
Next i
' return result
Set SortCollection = list
End Function
Wednesday, 22 February 2017
SQL URL Decode
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[UrlDecode](@url varchar(3072))
RETURNS varchar(3072)
AS
BEGIN
DECLARE @count int, @c char(1), @cenc char(2), @i int, @urlReturn varchar(3072)
SET @count = Len(@url)
SET @i = 1
SET @urlReturn = ''
WHILE (@i <= @count)
BEGIN
SET @c = substring(@url, @i, 1)
IF @c LIKE '[!%]' ESCAPE '!'
BEGIN
SET @cenc = substring(@url, @i + 1, 2)
SET @c = CHAR(CASE WHEN SUBSTRING(@cenc, 1, 1) LIKE '[0-9]'
THEN CAST(SUBSTRING(@cenc, 1, 1) as int)
ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 1, 1)))-55 as int)
END * 16 +
CASE WHEN SUBSTRING(@cenc, 2, 1) LIKE '[0-9]'
THEN CAST(SUBSTRING(@cenc, 2, 1) as int)
ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 2, 1)))-55 as int)
END)
SET @urlReturn = @urlReturn + @c
SET @i = @i + 2
END
ELSE
BEGIN
SET @urlReturn = @urlReturn + @c
END
SET @i = @i +1
END
RETURN @urlReturn
END
GO
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[UrlDecode](@url varchar(3072))
RETURNS varchar(3072)
AS
BEGIN
DECLARE @count int, @c char(1), @cenc char(2), @i int, @urlReturn varchar(3072)
SET @count = Len(@url)
SET @i = 1
SET @urlReturn = ''
WHILE (@i <= @count)
BEGIN
SET @c = substring(@url, @i, 1)
IF @c LIKE '[!%]' ESCAPE '!'
BEGIN
SET @cenc = substring(@url, @i + 1, 2)
SET @c = CHAR(CASE WHEN SUBSTRING(@cenc, 1, 1) LIKE '[0-9]'
THEN CAST(SUBSTRING(@cenc, 1, 1) as int)
ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 1, 1)))-55 as int)
END * 16 +
CASE WHEN SUBSTRING(@cenc, 2, 1) LIKE '[0-9]'
THEN CAST(SUBSTRING(@cenc, 2, 1) as int)
ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 2, 1)))-55 as int)
END)
SET @urlReturn = @urlReturn + @c
SET @i = @i + 2
END
ELSE
BEGIN
SET @urlReturn = @urlReturn + @c
END
SET @i = @i +1
END
RETURN @urlReturn
END
GO
Subscribe to:
Comments (Atom)