select @AppStr=@AppStr+'*'+right('0'+ImgIndex,2)+AppName from view_HZEmployeeAppCfg where username=@Username
这句转换成mySql应该怎么写

解决方案 »

  1.   

    select @AppStr:=concat(@AppStr,'*',right(concat('0'+ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=@Username
      

  2.   


    还是会出错:
    我写成存储过程CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20))
    BEGIN
      DECLARE _AppStr varchar(1000);
      SET _AppStr=''
      SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) 
        from view_HZEmployeeAppCfg where username=_Username;
      SET _AppStr=RIGHT(_AppStr,LENGTH(str)-1);
      SELECT _AppStr as AppStr;
    END;
      

  3.   

    CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20))
    BEGIN
      DECLARE _AppStr varchar(1000);
      SET _AppStr='' ;   少了分号
      SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) 
        from view_HZEmployeeAppCfg where username=_Username;
      SET _AppStr=RIGHT(_AppStr,LENGTH(str)-1);
      SELECT _AppStr as AppStr;
    END;
      

  4.   

    DELIMITER $$
    DROP PROCEDURE IF EXISTS proc_HZGetAppStr$$
    CREATE PROCEDURE proc_HZGetAppStr(IN _UserName VARCHAR(20))
    BEGIN
       SET @AppStr='';
       SELECT @AppStr:=CONCAT(@AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) FROM view_HZEmployeeAppCfg WHERE username=_Username;
      SET @AppStr=RIGHT(@AppStr,LENGTH(str)-1);
      SELECT @AppStr AS AppStr;
    END;$$
    DELIMITER ;
      

  5.   

    还是提示出错:[SQL] CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20))
    BEGIN
      DECLARE _AppStr varchar(1000);
      SET _AppStr='';
      SELECT _AppStr:=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployeeAppCfg where username=_Username;
      SET _AppStr=RIGHT(_AppStr,LENGTH(_AppStr)-1);
      SELECT _AppStr as AppStr;
    END;
    [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':=CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) from view_HZEmployee' at line 5
      

  6.   

    [SQL] CREATE PROCEDURE proc_HZGetAppStr(IN _UserName varchar(20))
    BEGIN
      DECLARE _AppStr varchar(1000);
      SET _AppStr='';
      SELECT CONCAT(_AppStr,'*',RIGHT(CONCAT('0',ImgIndex),2),AppName) into _AppStr from view_HZEmployeeAppCfg where username=_Username;
      SET _AppStr=RIGHT(_AppStr,LENGTH(_AppStr)-1);
      SELECT _AppStr as AppStr;
    END;