>>>Is the following a bug in STRTRAN()? It happens in VFP 7 & 9.
>>>
>>>? ISNULL(STRTRAN('XXX', 'YYY', NULL)) && prints .T.
>>>
>>>'YYY' doesn't appear in 'XXX', so why is it substituting NULL in the first place? If the expression sought doesn't exist in the expression to be searched, I would expect to have the expression to be searched returned as is, regardless of the replacement expression.
>>
>>Looks like you found a bug! I also would expect this to return 'XXX' instead.
>
>Hmm, when you work with NULLs you never know what you should expect. And in most cases you should expect NULL as a result :-)
>Here a simple SQL Server T-SQL that returns the same (NULL):
>
>declare @Test varchar(200)
>SET @Test = 'YYY'
>SELECT REPLACE(@test,'XXX',NULL)
>
Interesting! Since it's a common implementation, then I guess the output is expected? Need more tests in different languages.
If it's not broken, fix it until it is.
My Blog