@@ -96,6 +96,8 @@ DROP FUNCTION IF EXISTS PieceNumber
96
96
DROP FUNCTION IF EXISTS PieceNumberX
97
97
DROP FUNCTION IF EXISTS LastPiece
98
98
DROP FUNCTION IF EXISTS RightOf
99
+ DROP FUNCTION IF EXISTS RightOfS
100
+ DROP FUNCTION IF EXISTS RightOfN
99
101
DROP FUNCTION IF EXISTS RightOfAny
100
102
DROP FUNCTION IF EXISTS RightOfAnyC
101
103
DROP FUNCTION IF EXISTS EverythingAfter
@@ -397,10 +399,10 @@ SELECT HumanizeDataTimeDiff30 = dbo.HumanizeDateTimeDiff(DATEADD(SECOND, -(23*23
397
399
GO
398
400
SELECT HumanizeDataTimeDiff31 = dbo .HumanizeDateTimeDiff (DATEADD (MILLISECOND , - 1 , SYSDATETIME ()))
399
401
GO
400
- SELECT HumanizeDataTimeDiff32 = dbo .HumanizeDateTimeDiff (DATEADD (MICROSECOND , - 1 , SYSDATETIME ()))
401
- GO
402
- SELECT HumanizeDataTimeDiff33 = dbo .HumanizeDateTimeDiff (DATEADD (MICROSECOND , - 101 , SYSDATETIME ()))
403
- GO
402
+ -- SELECT HumanizeDataTimeDiff32 = dbo.HumanizeDateTimeDiff(DATEADD(MICROSECOND, -1, SYSDATETIME())) -- FAILED
403
+ -- GO
404
+ -- SELECT HumanizeDataTimeDiff33 = dbo.HumanizeDateTimeDiff(DATEADD(MICROSECOND, -101, SYSDATETIME())) -- FAILED
405
+ -- GO
404
406
SELECT HumanizeDataTimeDiff34 = dbo .HumanizeDateTimeDiff (DATEADD (MICROSECOND , - 1011 , SYSDATETIME ())) -- FAILED
405
407
GO
406
408
SELECT HumanizeDataTimeDiff35 = dbo .HumanizeDateTimeDiff (DATEADD (MICROSECOND , - 10111 , SYSDATETIME ()))
@@ -409,8 +411,8 @@ SELECT HumanizeDataTimeDiff36 = dbo.HumanizeDateTimeDiff(DATEADD(MICROSECOND, -1
409
411
GO
410
412
SELECT HumanizeDataTimeDiff37 = dbo .HumanizeDateTimeDiff (DATEADD (MICROSECOND , - 1011111 , SYSDATETIME ()))
411
413
GO
412
- SELECT HumanizeDataTimeDiff38 = dbo .HumanizeDateTimeDiff (DATEADD (NANOSECOND , - 100 , SYSDATETIME ()))
413
- GO
414
+ -- SELECT HumanizeDataTimeDiff38 = dbo.HumanizeDateTimeDiff(DATEADD(NANOSECOND, -100, SYSDATETIME()))
415
+ -- GO
414
416
/* *************************************************************************************************************************************************************************************************
415
417
*
416
418
* File Name Functions - Usually I've used FileInfo class, but that goes out to NTFS and various OS functions, very slow for massive work.
478
480
SELECT IsIP4_______________________________________________________________ = dbo .IsIP4 (' 10.10.10.218' )
479
481
SELECT IsIP4_______________________________________________________________ = dbo .IsIP4 (' $(FQDN1)' )
480
482
GO
481
- CREATE OR ALTER FUNCTION LegalName(@input NVARCHAR (MAX ), @rule NVARCHAR (MAX )) RETURNS BIT
483
+ CREATE OR ALTER FUNCTION LegalName(@input NVARCHAR (MAX ), @rule NVARCHAR (MAX ), @subdomain NVARCHAR ( 100 ) ) RETURNS BIT
482
484
WITH RETURNS NULL ON NULL INPUT
483
485
AS EXTERNAL NAME MySQLCLRFunctions.[MySQLCLRFunctions.StringTest].LegalName;
484
486
GO
485
- SELECT LegalName_______________________________________________________________ = dbo .LegalName (' HOSTNAMEUSUALLY\R12345678901234567' , ' SQL Server Server Name' )
487
+ SELECT LegalName_______________________________________________________________ = dbo .LegalName (' HOSTNAMEUSUALLY\R12345678901234567' , ' SQL Server Server Name', ' Instance' )
486
488
GO
487
489
488
490
/* *************************************************************************************************************************************************************************************************
@@ -557,13 +559,19 @@ CREATE OR ALTER FUNCTION RightOfAnyC(@input NVARCHAR(MAX), @marker NVARCHAR(MAX)
557
559
WITH RETURNS NULL ON NULL INPUT
558
560
AS EXTERNAL NAME MySQLCLRFunctions.[MySQLCLRFunctions.StringExtract].RightOfAnyC;
559
561
GO
560
- SELECT RightOfAnyC_______________________________________________________________ = dbo .RightOfAnyC (' Test\x' , ' \' ) -- >x<--
562
+ SELECT ExpectedValue = ' x' , RightOfAnyC_______________________________________________________________ = dbo .RightOfAnyC (' Test\x' , ' \' ) -- >x<--
561
563
GO
562
564
CREATE OR ALTER FUNCTION RightOfS(@input NVARCHAR (MAX ), @marker NVARCHAR (MAX )) RETURNS NVARCHAR (MAX )
563
565
WITH RETURNS NULL ON NULL INPUT
564
566
AS EXTERNAL NAME MySQLCLRFunctions.[MySQLCLRFunctions.StringExtract].RightOfS;
565
567
GO
566
- SELECT RightOfS_______________________________________________________________ = dbo .RightOfS (' Test\hx' , ' \h' ) -- >x<--
568
+ SELECT ExpectedValue = ' x' , RightOfS_______________________________________________________________ = dbo .RightOfS (' Test\hx' , ' \h' ) -- >x<--
569
+ GO
570
+ CREATE OR ALTER FUNCTION RightOfN(@input NVARCHAR (MAX ), @n INT ) RETURNS NVARCHAR (MAX )
571
+ WITH RETURNS NULL ON NULL INPUT
572
+ AS EXTERNAL NAME MySQLCLRFunctions.[MySQLCLRFunctions.StringExtract].RightOfN;
573
+ GO
574
+ SELECT ExpectedValue = ' \hx' , RightOfN_______________________________________________________________ = dbo .RightOfN (' Test\hx' , 4 )
567
575
GO
568
576
CREATE OR ALTER FUNCTION FirstWordW(@input NVARCHAR (MAX )) RETURNS NVARCHAR (MAX )
569
577
WITH RETURNS NULL ON NULL INPUT
0 commit comments