Number VS Letter

  • ScottPletcher (12/28/2015)


    I'd at least compare the performance of the straightforward brute-force method:

    The Chuck Norris/Brute-force method is many times slower apart from other limitations such as input length. For certain this kind of code is something I wouldn't like to see in production!

    😎

    Quick test harness

    USE tempdb;

    GO

    SET NOCOUNT ON;

    IF OBJECT_ID('tempdb..#CHAR_TMP') IS NOT NULL DROP TABLE #CHAR_TMP;

    IF OBJECT_ID('dbo.TBL_MIXOFCHARNUMS') IS NOT NULL DROP TABLE dbo.TBL_MIXOFCHARNUMS;

    SELECT TOP (1000000)

    CHAR(48 + ABS(CHECKSUM(NEWID()) % 41)) AS TCHAR

    ,ABS(CHECKSUM(NEWID()) % 100000) AS TID

    INTO #CHAR_TMP

    FROM sys.all_columns SAC1

    CROSS JOIN sys.all_columns SAC2

    CROSS JOIN sys.all_columns SAC3

    CROSS JOIN sys.all_columns SAC4;

    CREATE TABLE dbo.TBL_MIXOFCHARNUMS

    (

    MON_ID INT NOT NULL CONSTRAINT PK_dbo_TBL_MIXOFCHARNUMS_MON_ID PRIMARY KEY CLUSTERED

    ,MON_TXT VARCHAR(50) NOT NULL

    );

    ;WITH TALLY AS

    (

    SELECT TOP (100000)

    ROW_NUMBER() OVER

    (

    ORDER BY (SELECT NULL)

    ) AS RID

    FROM sys.all_columns SAC1

    CROSS JOIN sys.all_columns SAC2

    CROSS JOIN sys.all_columns SAC3

    CROSS JOIN sys.all_columns SAC4

    )

    INSERT INTO dbo.TBL_MIXOFCHARNUMS(MON_ID,MON_TXT)

    SELECT

    T.RID

    ,ISNULL((SELECT

    BD.TCHAR

    FROM #CHAR_TMP BD

    WHERE BD.TID = T.RID

    FOR XML PATH(''), TYPE).value('.[1]','VARCHAR(50)') ,'123')

    FROM TALLY T;

    IF OBJECT_ID('dbo.DigitsOnlyEE') IS NOT NULL DROP FUNCTION dbo.DigitsOnlyEE;

    GO

    CREATE FUNCTION dbo.DigitsOnlyEE

    (@pString VARCHAR(8000))

    RETURNS TABLE WITH SCHEMABINDING AS RETURN

    WITH E1(N) AS (SELECT N FROM (VALUES (0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) AS X(N))

    ,Tally(N) AS (SELECT TOP (LEN(ISNULL(@pString,CHAR(32)))) (ROW_NUMBER() OVER (ORDER BY (SELECT NULL))) FROM E1 a,E1 b)-- this time the number is 100 ,E1 c,E1 d)

    SELECT DigitsOnly =

    (

    SELECT SUBSTRING(@pString,N,1)

    FROM Tally

    WHERE ((ASCII(SUBSTRING(@pString,N,1)) - 48) & 0x7FFF) < 10

    FOR XML PATH('')

    )

    ;

    GO

    DECLARE @CHAR_BUCKET VARCHAR(50) = '';

    DECLARE @TIMER TABLE (T_TEXT VARCHAR(100) NOT NULL, T_TS DATETIME2(7) NOT NULL DEFAULT (SYSDATETIME()));

    INSERT INTO @TIMER(T_TEXT) VALUES ('CHUCK NORRIS ;-)');

    SELECT

    @CHAR_BUCKET =

    CASE WHEN SUBSTRING(T.MON_TXT, 01, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 01, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 02, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 02, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 03, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 03, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 04, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 04, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 05, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 05, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 06, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 06, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 07, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 07, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 08, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 08, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 09, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 09, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 10, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 10, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 11, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 11, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 12, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 12, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 13, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 13, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 14, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 14, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 15, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 15, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 16, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 16, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 17, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 17, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 18, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 18, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 19, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 19, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 20, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 20, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 21, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 21, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 22, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 22, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 23, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 23, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 24, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 24, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 25, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 25, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 26, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 26, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 27, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 27, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 28, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 28, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 29, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 29, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 30, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 30, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 31, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 31, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 32, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 32, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 33, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 33, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 34, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 34, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 35, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 35, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 36, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 36, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 37, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 37, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 38, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 38, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 39, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 39, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 40, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 40, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 41, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 41, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 42, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 42, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 43, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 43, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 44, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 44, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 45, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 45, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 46, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 46, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 47, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 47, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 48, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 48, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 49, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 49, 1) ELSE '' END +

    CASE WHEN SUBSTRING(T.MON_TXT, 50, 1) LIKE '[0-9]' THEN SUBSTRING(T.MON_TXT, 50, 1) ELSE '' END

    FROM dbo.TBL_MIXOFCHARNUMS T

    INSERT INTO @TIMER(T_TEXT) VALUES ('CHUCK NORRIS ;-)');

    INSERT INTO @TIMER(T_TEXT) VALUES ('HOLMES');

    SELECT

    @CHAR_BUCKET = X.DigitsOnly

    FROM dbo.TBL_MIXOFCHARNUMS T

    CROSS APPLY dbo.DigitsOnlyEE(T.MON_TXT) AS X;

    INSERT INTO @TIMER(T_TEXT) VALUES ('HOLMES');

    SELECT

    T.T_TEXT

    ,DATEDIFF(MICROSECOND,MIN(T.T_TS),MAX(T.T_TS)) AS DURATION

    FROM @TIMER T

    GROUP BY T.T_TEXT

    ORDER BY DURATION ASC;

    Results

    T_TEXT DURATION

    ----------------- -----------

    HOLMES 348019

    CHUCK NORRIS ;-) 2074119

    Looking at what actually is happening, this is no surprise.

    Output Tree for the brute-force method

    *** Output Tree: (trivial plan) ***

    PhyOp_ComputeScalar

    PhyOp_NOP

    PhyOp_Range TBL: dbo.TBL_MIXOFCHARNUMS(alias TBL: T)(1) ASC Bmk ( QCOL: [T].MON_ID) IsRow: COL: IsBaseRow1000

    AncOp_PrjList

    AncOp_PrjEl COL: Expr1001

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_Arithmetic x_aopAdd

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=2)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=2)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=3)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=3)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=4)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=4)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=5)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=5)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=6)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=6)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=7)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=7)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=8)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=8)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=9)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=9)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=10)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=10)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=11)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=11)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=12)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=12)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=13)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=13)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=14)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=14)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=15)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=15)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=16)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=16)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=17)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=17)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=18)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=18)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=19)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=19)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=20)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=20)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=21)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=21)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=22)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=22)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=23)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=23)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=24)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=24)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=25)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=25)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=26)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=26)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=27)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=27)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=28)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=28)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=29)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=29)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=31)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=31)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=32)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=32)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=33)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=33)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=34)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=34)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=35)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=35)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=36)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=36)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=37)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=37)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=38)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=38)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=39)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=39)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=40)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=40)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=41)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=41)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=42)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=42)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=43)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=43)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=44)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=44)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=45)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=45)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=46)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=46)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=47)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=47)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=48)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=48)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=49)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=49)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    ScaOp_IIF varchar collate 53256,Null,Var,Trim,ML=1

    ScaOp_Intrinsic like

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=50)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=5) XVAR(varchar,Not Owned,Value=Len,Data = (5,[0-9]))

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=EMPTY)

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,0))

    ScaOp_Const TI(varchar collate 53256,Null,Var,Trim,ML=5) XVAR(varchar,Owned,Value=Len,Data = (1,A))

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=30)

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=50)

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(varchar collate 53256,Var,Trim,ML=1) XVAR(varchar,Not Owned,Value=Len,Data = (0,))

    Output Tree for dbo.DigitsOnlyEE

    PhyOp_ComputeScalar

    PhyOp_Apply (x_jtInner)

    PhyOp_Range TBL: dbo.TBL_MIXOFCHARNUMS(alias TBL: T)(1) ASC Bmk ( QCOL: [T].MON_ID) IsRow: COL: IsBaseRow1000

    PhyOp_Ude[FOR XML] used COLS: COL: Expr1026

    ; defd COLS: COL: Expr1027

    ;

    PhyOp_ComputeScalar

    PhyOp_Filter

    PhyOp_Top NoTies

    PhyOp_ComputeSequence

    PhyOp_LoopsJoin x_jtInner

    PhyOp_ConstTableScan (10)

    PhyOp_ConstTableScan (10)

    AncOp_PrjList

    AncOp_PrjEl COL: Expr1025

    ScaOp_SeqFunc row_number

    ScaOp_Convert bigint,Null,ML=8

    ScaOp_Intrinsic len

    ScaOp_Intrinsic isnull

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(char collate 53256,Null,Trim,ML=1) XVAR(char,Owned,Value=Len,Data = (1, ))

    ScaOp_Const TI(bigint,ML=8) XVAR(bigint,Not Owned,Value=0)

    ScaOp_Comp x_cmpLt

    ScaOp_Arithmetic x_aopAnd

    ScaOp_Arithmetic x_aopSub

    ScaOp_Intrinsic ascii

    ScaOp_Intrinsic substring

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=1)

    ScaOp_Convert int,Null,ML=4

    ScaOp_Identifier COL: Expr1025

    ScaOp_Identifier QCOL: [T].MON_TXT

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=48)

    ScaOp_Const TI(int,Null,ML=4) XVAR(int,Not Owned,Value=32767)

    ScaOp_Const TI(int,ML=4) XVAR(int,Not Owned,Value=10)

    AncOp_PrjList

    AncOp_PrjEl COL: Expr1026

    ScaOp_Intrinsic substring[** 24 **]

    AncOp_PrjList

    AncOp_PrjEl COL: Expr1030

    ScaOp_Convert varchar collate 53256,Null,Var,Trim,ML=50

    ScaOp_Identifier COL: Expr1027

    Edit: added optimizer's output trees for the two methods.

  • ScottPletcher (12/28/2015)


    I'd at least compare the performance of the straightforward brute-force method:

    Agreed. You absolutely should. Please build a million row test table with demonstrable postable code, do the test with demonstrable postable code, and report back. Thanks. 😀

    [EDIT] Never mind, I see that Eirikur beat you to it.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Forgot to post the implementation of the "digits only" logic as a subquery without the using a function, here is one that fits the previously posted test harness. This code performs almost as well as the function.

    😎

    ;WITH T(N) AS (SELECT N FROM (VALUES (0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) AS X(N))

    SELECT

    TC.MON_ID

    ,CLEANER.CLN_TXT

    FROM dbo.TBL_MIXOFCHARNUMS TC

    CROSS APPLY

    (

    SELECT

    (

    SELECT SUBSTRING(TC.MON_TXT,N,1)

    FROM

    (

    SELECT TOP(LEN(TC.MON_TXT)) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS N

    FROM T T1,T T2,T T3,T T4

    ) AS NM(N)

    WHERE ((ASCII(SUBSTRING(TC.MON_TXT,N,1)) - 48) & 0x7FFF) < 10

    FOR XML PATH('')

    )

    ) AS CLEANER(CLN_TXT);

  • My first impression when I see these restrictions is, if this is a test or homework question for a class.

    ----------------------------------------------------

  • So let's get back to the burning question...

    @Basurmanin,

    Why the restrictions other than someone told you so?

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (12/30/2015)


    So let's get back to the burning question...

    @Basurmanin,

    Why the restrictions other than someone told you so?

    Perhaps MMartin1 hit the nail on the head. Perhaps the professor wants to teach how to use loops, so he created a bunch of restrictions. 😛

Viewing 6 posts - 16 through 21 (of 21 total)

You must be logged in to reply to this topic. Login to reply