Skip to content

Instantly share code, notes, and snippets.

View morriekken's full-sized avatar
🏠
Working from home

Rafal Ziolkowski morriekken

🏠
Working from home
View GitHub Profile
-- VARCHAR TO Base64
IF OBJECT_ID (N'[dbo].[uFnStringToBase64]', N'FN') IS NOT NULL
DROP FUNCTION uFnStringToBase64;
GO
CREATE FUNCTION [dbo].[uFnStringToBase64]
(
@InputString VARCHAR(MAX)
)
RETURNS VARCHAR(MAX)
AS
@morriekken
morriekken / split_dates_into_batches.sql
Created June 1, 2022 10:05
Split dates into batches by batch size
DECLARE @startDate DATE, @endDate DATE, @batchSize INT
SET @startDate = '2022-05-01'
SET @endDate = '2022-05-31'
SET @batchSize=4
;WITH dates AS (
SELECT @startDate as batchStartDate, DATEADD(DAY, @batchSize, @startDate) batchEndDate
UNION ALL
SELECT DATEADD(DAY, 1, batchEndDate) batchStartDate, DATEADD(DAY, 1 + @batchSize, batchEndDate) batchEndDate
@morriekken
morriekken / count_commas.sql
Created June 1, 2022 10:03
SQL, Count characters (commas) in string
SELECT
LEN(col) - LEN(REPLACE(col, ',', '')) count_commas
FROM table
@morriekken
morriekken / sap_read_table.ps1
Created December 13, 2021 10:01
Read table from SAP
$rc = [Reflection.Assembly]::LoadFile("path to sanco\sapnco.dll")
$rc = [Reflection.Assembly]::LoadFile("path to sanco\sapnco_utils.dll")
$Version = [SAP.Middleware.Connector.SAPConnectorInfo]::get_Version()
$PatchLevel = [SAP.Middleware.Connector.SAPConnectorInfo]::get_KernelPatchLevel()
$SAPRelease = [SAP.Middleware.Connector.SAPConnectorInfo]::get_SAPRelease()
Write-Host "`r`nNCo verion:" $Version
Write-Host "Patch Level:" $PatchLevel
Write-Host "SAP Release:" $SAPRelease
@morriekken
morriekken / system_health.sql
Created November 10, 2021 16:12
Recreating system_health in Azure SQL Database
IF EXISTS ( SELECT *
FROM sys.dm_xe_database_sessions AS dxds
WHERE dxds.name = 'system_health')
DROP EVENT SESSION system_health ON DATABASE;
GO
CREATE EVENT SESSION system_health
ON DATABASE
ADD EVENT sqlserver.error_reported
(ACTION (sqlserver.session_id,
sqlserver.database_id,
@morriekken
morriekken / base64.sql
Created August 13, 2020 08:32
SQL, BASE64 conversions
SELECT CAST('string' as varbinary(max)) FOR XML PATH(''), BINARY BASE64
SELECT CAST( CAST( 'c3RyaW5n' as XML ).value('.','varbinary(max)') AS varchar(max) )
@morriekken
morriekken / get_checksum.ps1
Created July 17, 2020 14:22
Get file checksum
Get-FileHash -Path FileName -Algorithm SHA256
-- Replace SCHEMA and FILTER with your schema and table filter
-- Remove last UNION ALL from result
SELECT
CONCAT('SELECT ''', TABLE_NAME, ''' [TABLE_NAME], COUNT(*) [ROWS] FROM ', QUOTENAME(TABLE_SCHEMA), '.', QUOTENAME(TABLE_NAME),' UNION ALL')
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='SCHEMA' AND TABLE_NAME LIKE 'FILTER'
# Count files in current dir and all subdirectories
(Get-ChildItem *.jpg -Recurse -File | Measure-Object).Count
# Measure size of files in current directory and all subdirectories (in Gb)
(Get-ChildItem *.jpg -Recurse -File | Measure-Object -Property Length -Sum).Sum / 1Gb
# Get 100 random jpg files and exclude FOLDER (you have to provide CountOfFiles)
Get-ChildItem -Exclude FOLDER | Get-ChildItem -Recurse -Filter *.jpg -File | Get-Random -Count CountOfFiles | Select-Object -First 100
# Same as above but copies selected files to DESTINATION_FOLDER
@morriekken
morriekken / rename_column_in_temporal_table.sql
Created June 30, 2020 16:14
SQL, Rename column in temporal table
ALTER TABLE DatabaseName.SchemaName.TableName SET (SYSTEM_VERSIONING = OFF)
EXEC sp_rename 'DatabaseName.SchemaName.TableName.ColumnName', 'NewColumnName', 'COLUMN';
ALTER TABLE DatabaseName.SchemaName.TableName SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = SchemaName.HistoryTableName))