/*
    名称:获取以,分隔ProdMaterialClass的MClassIDHex获取以,分隔的MClassName
*/
ALTER FUNCTION GetMaterialNameByHexIDs ( @HexIDs VARCHAR(100) )
RETURNS NVARCHAR(200)
    BEGIN
        /* 如果参数没有值,返回 '' */
        IF ( LEN(@HexIDs) = 0 ) 
            RETURN ''        
            
        DECLARE @result NVARCHAR(200)
        DECLARE @tempHexID VARCHAR(30)     
        DECLARE @commaLocation INT
        
        SET @commaLocation = CHARINDEX(',', @HexIDs)
        
        IF @commaLocation > 0 
            SET @tempHexID = SUBSTRING(@HexIDs, 1, @commaLocation - 1) /* 获取第一个,前面的字符串 */
        ELSE 
            SET @tempHexID = @HexIDs
        
        SET @result = ''
        
        /* 获取的字符串有值,读取其名称以,分隔保存到@result */
        WHILE LEN(@tempHexID) > 0 
            BEGIN
                DECLARE @tempClassName NVARCHAR(50)
                
                /* 与待定数据库表相关的操作 开始 */
                SELECT  @tempClassName = MClassName
                FROM    ProdMaterialClass
                WHERE   MClassIDHex = @tempHexID
                /* 与待定数据库表相关的操作 结束 */
                
                SET @result = @result + @tempClassName + ','
                
                /* 如果源@HexIDs中不包含,  退出循环 */
                IF (CHARINDEX(',', @HexIDs) = 0)
                    BREAK;
                        
                /* 去除第一个,及其前面的字符串,保存到源@HexIDs中*/
                SET @HexIDs = SUBSTRING(@HexIDs, CHARINDEX(',', @HexIDs) + 1, LEN(@HexIDs) - CHARINDEX(',', @HexIDs))                 
                SET @commaLocation = CHARINDEX(',', @HexIDs)
                
                IF @commaLocation > 0 
                    SET @tempHexID = SUBSTRING(@HexIDs, 0, @commaLocation - 1)
                ELSE 
                    SET @tempHexID = LTRIM(RTRIM(@HexIDs))
            END
            
            IF (LEN(@result)>0)
                RETURN LEFT(@result,LEN(@result)-1)
            RETURN ''
    END

相关文章:

  • 2022-12-23
  • 2021-10-24
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2022-02-04
猜你喜欢
  • 2022-12-23
  • 2021-07-15
  • 2022-01-04
  • 2022-12-23
  • 2021-12-12
相关资源
相似解决方案