dbo.QBM_FSQCVColumnToBuffer
Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB
Interpretation
- Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QBM_FCVBigIntToString source text reference
- references source dbo.QBM_FCVBinaryToString source text reference
- references source dbo.QBM_FCVBitToString source text reference
- references source dbo.QBM_FCVDatetimeToString source text reference
- references source dbo.QBM_FCVFloatToString source text reference
- references source dbo.QBM_FCVIntToString source text reference
- references source dbo.QBM_FGIColumnDataLen source text reference
- references source dbo.QBM_FGIColumnDataType source text reference
Complete Source
1CREATE FUNCTION dbo.QBM_FSQCVColumnToBuffer(2 @TableName varchar(30),3 @columnname varchar(30),4 @TableSynonym varchar(64)5) RETURNS nvarchar(max6)7AS8BEGIN9 DECLARE @erg nvarchar(max)10 DECLARE @datatype nvarchar(64)11 DECLARE @DataMaxLen int12 SELECT13 @datatype = dbo.QBM_FGIColumnDataType(@TableName,14 @columnname)15 SELECT16 @DataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName,17 @columnname)18 IF @datatype = 'int'19 BEGIN20 SELECT21 @erg = CONCAT('dbo.QBM_FCVIntToString(',22 @TableSynonym,23 '.',24 @columnname,25 '), 0, null')26 GOTO ende27 END28 IF @datatype = 'bigint'29 BEGIN30 SELECT31 @erg = CONCAT('dbo.QBM_FCVBigIntToString(',32 @TableSynonym,33 '.',34 @columnname,35 '), 0, null')36 GOTO ende37 END38 IF @datatype = 'datetime'39 BEGIN40 SELECT41 @erg = CONCAT('dbo.QBM_FCVDateTimeToString(',42 @TableSynonym,43 '.',44 @columnname,45 '), 0, null')46 GOTO ende47 END48 IF @datatype = 'Float'49 BEGIN50 SELECT51 @erg = CONCAT('dbo.QBM_FCVFloatToString(',52 @TableSynonym,53 '.',54 @columnname,55 '), 0, null')56 GOTO ende57 END58 IF @datatype = 'Bit'59 BEGIN60 SELECT61 @erg = CONCAT('dbo.QBM_FCVBitToString(',62 @TableSynonym,63 '.',64 @columnname,65 '), 0, null')66 GOTO ende67 END68 IF @datatype = 'timestamp'69 BEGIN70 SELECT71 @erg = CONCAT('dbo.QBM_FCVBinaryToString(',72 @TableSynonym,73 '.',74 @columnname,75 ', 0), 0, null')76 GOTO ende77 END78 IF @datatype = 'varbinary'79 BEGIN80 IF @DataMaxLen <= 30081 BEGIN82 SELECT83 @erg = CONCAT('dbo.QBM_FCVBinaryToString(',84 @TableSynonym,85 '.',86 @columnname,87 ', 1), 0, null')88 END89 ELSE90 BEGIN91 SELECT92 @erg = CONCAT('93left(dbo.QBM_FCVBinaryToString(',94 @TableSynonym,95 '.',96 @columnname,97 ', 1), 400)98 , case 99 when DATALENGTH(',100 @TableSynonym,101 '.',102 @columnname,103 ') > 300 then 1104 else 0105 end106 , case 107 when DATALENGTH(',108 @TableSynonym,109 '.',110 @columnname,111 ') > 300 then dbo.QBM_FCVBinaryToString(',112 @TableSynonym,113 '.',114 @columnname,115 ', 1)116 else null117 end118 ')119 END120 GOTO ende121 END122 IF @datatype IN('char',123 'nchar',124 'varchar',125 'nvarchar')126 BEGIN127 IF @DataMaxLen <= 400128 BEGIN129 SELECT130 @erg = CONCAT('',131 @TableSynonym,132 '.',133 @columnname,134 ', 0, null')135 END136 ELSE137 BEGIN138 SELECT139 @erg = CONCAT('140case 141 when ',142 @TableSynonym,143 '.',144 @columnname,145 ' > '' '' then left(',146 @TableSynonym,147 '.',148 @columnname,149 ', 400)150 else null151 end, 152 case 153 when len(',154 @TableSynonym,155 '.',156 @columnname,157 ') > 400 then 1158 else 0159 end160 , case 161 when len(',162 @TableSynonym,163 '.',164 @columnname,165 ') > 400 then ',166 @TableSynonym,167 '.',168 @columnname,169 '170 else null171 end172 ')173 END174 GOTO ende175 END176 SELECT @erg = ' message this_must_be_an_invalid_datatype' ende:177 RETURN(@erg)178END
Open raw exported source
1 create function dbo.QBM_FSQCVColumnToBuffer (@TableName varchar(30) , @columnname varchar(30) , @TableSynonym varchar(64) ) returns nvarchar2(max) as begin declare @erg nvarchar(max) declare @datatype nvarchar(64) declare @DataMaxLen int select @datatype = dbo.QBM_FGIColumnDataType(@TableName3 , @columnname) select @DataMaxLen = dbo.QBM_FGIColumnDataLen(@TableName , @columnname) if @datatype = 'int' begin select @erg = concat('dbo.QBM_FCVIntToString('4 , @TableSynonym , '.' , @columnname , '), 0, null') goto ende end if @datatype = 'bigint' begin select @erg = concat('dbo.QBM_FCVBigIntToString(' , @TableSynonym5 , '.' , @columnname , '), 0, null') goto ende end if @datatype = 'datetime' begin select @erg = concat('dbo.QBM_FCVDateTimeToString(' , @TableSynonym 6, '.' , @columnname , '), 0, null') goto ende end if @datatype = 'Float' begin select @erg = concat('dbo.QBM_FCVFloatToString(' , @TableSynonym , '.' ,7 @columnname , '), 0, null') goto ende end if @datatype = 'Bit' begin select @erg = concat('dbo.QBM_FCVBitToString(' , @TableSynonym , '.' , @columnname8 , '), 0, null') goto ende end if @datatype = 'timestamp' begin select @erg = concat('dbo.QBM_FCVBinaryToString(' , @TableSynonym , '.' , @columnname 9, ', 0), 0, null') goto ende end if @datatype = 'varbinary' begin if @DataMaxLen <= 300 begin select @erg = concat('dbo.QBM_FCVBinaryToString(' , @TableSynonym10 , '.' , @columnname , ', 1), 0, null') end else begin select @erg = concat('11left(dbo.QBM_FCVBinaryToString(' , @TableSynonym , '.' , @columnname , 12', 1), 400)13 , case 14 when DATALENGTH(' , @TableSynonym , '.' , @columnname , ') > 300 then 115 else 016 end17 , case 18 when DATALENGTH('19 , @TableSynonym , '.' , @columnname , ') > 300 then dbo.QBM_FCVBinaryToString(' , @TableSynonym , '.' , @columnname , ', 1)20 else null21 end22 '23 ) end goto ende end if @datatype in( 'char' , 'nchar', 'varchar', 'nvarchar') begin if @DataMaxLen <= 400 begin select @erg = concat('' , @TableSynonym24 , '.' , @columnname , ', 0, null') end else begin select @erg = concat('25case 26 when ' , @TableSynonym , '.' , @columnname , ' > '' '' then left(' 27, @TableSynonym , '.' , @columnname , ', 400)28 else null29 end, 30 case 31 when len(' , @TableSynonym , '.' , @columnname , ') > 400 then 132 else 033 end34 , case 35 when len('36 , @TableSynonym , '.' , @columnname , ') > 400 then ' , @TableSynonym , '.' , @columnname , '37 else null38 end39 ' ) end goto ende end select40 @erg = ' message this_must_be_an_invalid_datatype' ende: return(@erg) end 41