求教: apple_8180(十豆三)
原帖:
http://community.csdn.net/Expert/topic/5540/5540303.xml?temp=.6190912
答案:
select fl1,iif(empty(myhz(fl1)),space(50),myhz(fl1)) from tempa
FUNCTION MyHZ
PARAMETERS pcZd
lcString= ' '
FOR I=1 TO LEN(ALLTRIM(pcZd))
IF ISLEADBYTE(SUBSTR(ALLTRIM(pcZd),I,1))
lcString=lcString+SUBSTR(ALLTRIM(pcZd),I,2)
I=I+1
ENDIF
ENDFOR
RETURN lcString
ENDFUNC
问题:select fl1,iif(empty(myhz(fl1)),space(50),myhz(fl1)) from tempa
语句中,iif(empty(myhz(fl1)),space(50),myhz(fl1))的值得长度受纪录的第一个值的影响,字段长度如何给定。
[解决办法]
select left(tt,50) from (
select fl1,iif(empty(myhz(fl1)),space(50),myhz(fl1)) as tt from tempa)
[解决办法]
select fl1,myhz(fl1) AS 结果 from tempa
FUNCTION MyHZ
PARAMETERS pcZd
lcString= ' '
FOR I=1 TO LEN(ALLTRIM(pcZd))
IF ISLEADBYTE(SUBSTR(ALLTRIM(pcZd),I,1))
lcString=lcString+SUBSTR(ALLTRIM(pcZd),I,2)
I=I+1
ENDIF
ENDFOR
RETURN PADR(lcString,254,SPACE(1))
ENDFUNC