Skip to content

Instantly share code, notes, and snippets.

View kwestground's full-sized avatar

Kenny Westermark kwestground

View GitHub Profile
@kwestground
kwestground / func_TruncateWithCount.sql
Created December 9, 2022 15:42
Truncate string and count items from comma
CREATE OR ALTER FUNCTION dbo.func_TruncateWithCount
(
@input nvarchar(max), @MaxLength int
)
RETURNS nvarchar(max)
AS
BEGIN
IF (LEN(@input) <= @MaxLength)
RETURN @input
SELECT TOP 1
T2."UpdateDate", T2."UpdateTS",
CAST(
CAST(T2."UpdateDate" AS date) || ' ' ||
SUBSTRING(RIGHT('0'+ CAST(T2."UpdateTS" AS varchar), 6), 1, 2) || ':' ||
SUBSTRING(RIGHT('0'+ CAST(T2."UpdateTS" AS varchar), 6), 3, 2) || ':' ||
SUBSTRING(RIGHT('0'+ CAST(T2."UpdateTS" AS varchar), 6), 5, 2)
AS datetime)
FROM "ORDR" T2
DECLARE @Table nvarchar(100) = 'MyTableName'
SELECT 'REPLACE(''INSERT INTO ['+@Table+'] (' +
STUFF ((
SELECT ', [' + name + ']'
FROM syscolumns
WHERE id = OBJECT_ID(@Table) AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') +
') VALUES (' +
WITH TreeRecursive AS
(
SELECT T0.ParentCode, T0.ChildCode, 0 [Level] FROM TreeTable T0
WHERE ParentCode = 'ParentCode'
UNION ALL
SELECT TS.ChildCode, T0.ChildCode, TS.[Level] + 1 AS [Level] FROM TreeTable TS
INNER JOIN TreeTable T0 ON TS.ChildCode = T0.ParentCode
)
SELECT * FROM TreeRecursive
@kwestground
kwestground / POLR_LATEST_CURRENCY_RATE.sql
Last active September 25, 2020 13:29
Scalar function to get lastest currency rate from SAP Business One HANA
ALTER FUNCTION POLR_LATEST_CURRENCY_RATE(CurrencyCode char(3))
RETURNS result decimal(15,2)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER AS
BEGIN
DECLARE found INT := 0;
SELECT COUNT(1) INTO found FROM "ORTT" WHERE "Currency" = :CurrencyCode AND "RateDate" <= CURRENT_DATE;
IF :found > 0
THEN
@kwestground
kwestground / BulkImportNopPictures.sql
Created September 9, 2020 09:27
Bulk import pictures into NopCommerce 4.2
/*
exec sp_configure 'show advanced options', '1'
RECONFIGURE
exec sp_configure 'xp_cmdshell', '1'
RECONFIGURE
*/
SET NOCOUNT ON;
DECLARE @FilePath nvarchar(max) = 'C:\Temp\images\';
DECLARE @Command nvarchar(255) = 'dir '+@FilePath+' /b', @FileName nvarchar(255), @Sku nvarchar(255), @Index int, @BinaryData VARBINARY(MAX), @InsertedImageId int, @NopCommerceProductId int;
@kwestground
kwestground / STRING_SPLIT.sql
Last active October 13, 2023 13:43
STRING_SPLIT for SQL 2012, 2014
CREATE FUNCTION [dbo].[STRING_SPLIT](
@string nvarchar(max),
@separator varchar(10))
RETURNS @returnList TABLE
(
[value] [nvarchar](500)
)
AS
BEGIN
DECLARE @name nvarchar(max);
@kwestground
kwestground / CompareB1UserQueries.sql
Created December 9, 2019 21:47
Compare User Queries between two SAP Business One Databases
SELECT S."QName", S."QString", ST."QName", ST."QString",
CASE WHEN CAST(S."QString" AS varchar) <> CAST(ST."QString" AS varchar) THEN 1 ELSE 0 END AS "Diff"
FROM "OUQR" S
LEFT JOIN "DB2"."OUQR" ST ON S."QName" = REPLACE(ST."QName", '-', '-')
WHERE S."QName" LIKE '%'
@kwestground
kwestground / HanaDecimalJsonConverter.cs
Created June 3, 2019 12:55
Json.NET Hana Decimal to decimal converter
using System;
using Newtonsoft.Json;
using Sap.Data.Hana;
public class HanaDecimalJsonConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if (value == null) return;
@kwestground
kwestground / NopMigrateLocaleStringResource.sql
Last active January 18, 2022 09:08
Migrate NopCommerce LocaleStringResource from one to another database
SELECT *,
CASE WHEN S1.ResourceName IS NULL THEN 'INSERT INTO LocaleStringResource VALUES ('+cast(S2.LanguageId as varchar)+', '''+S2.ResourceName+''', '''+REPLACE(S2.ResourceValue, '''', '''''')+''')'
ELSE 'UPDATE LocaleStringResource SET [ResourceValue] = '''+S2.ResourceValue+''' WHERE [ResourceName] = '''+S2.ResourceName+''' AND LanguageId='+cast(S2.LanguageId as varchar)+'' END AS [SQL]
FROM LocaleStringResource S1
FULL OUTER JOIN NopCommerceStage.dbo.LocaleStringResource S2 ON S1.ResourceName=S2.ResourceName AND S1.LanguageId=S2.LanguageId
WHERE ISNULL(S1.ResourceValue, '') <> ISNULL(S2.ResourceValue, '')