Scalar-valued Functions [dbo].[SPLITTER]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@datavarchar(max)max
@opvarchar(max)max
SQL Script
CREATE FUNCTION dbo.SPLITTER
(
   @data varchar(max),
   @op varchar(max)
)
RETURNS varchar(max)
AS
   
   /*
   *   Generated by SQL Server Migration Assistant for Oracle.
   *   Contact ora2sql@microsoft.com or visit http://www.microsoft.com/sql/migration for more information.
   */

   BEGIN

      DECLARE
         @tempData varchar(1000),
         /*
         *   SSMA warning messages:
         *   O2SS0356: Conversion from NUMBER datatype can cause data loss.
         */


         @posCount float(53),
         @retData varchar(1000)

      
      /*
      *   This is a recursive function which calls itself to split a string based on the seperator
      *   mentioned in the variable op.
      *   For example if the op is . and the data is abc.def.ghi.jkl then this function will return
      *   jkl
      */

      SET @tempData = @data

      SELECT @posCount = dbo.instr2_varchar(@data, @op)

      IF (@posCount > 0)
         BEGIN

            SELECT @tempData = dbo.substr2_varchar(@data, dbo.instr2_varchar(@data, @op) + 1)

            SELECT @posCount = dbo.instr2_varchar(@tempData, @op)

            IF (@posCount > 0)
               SET @retData = dbo.SPLITTER(@tempData, @op)
            ELSE
               SET @retData = @tempData

         END
      ELSE
         SET @retData = @tempData

      RETURN @retData

   END
GO
Uses
Used By