On 04 Jun 2015 00:10:14 -0700, "[email protected] [firebird-support]"
<[email protected]> wrote:
> Hello,
> 
> I need to produce delimited text output from my stored procedure, for
> example:
> 
> 23;65;some text;
> 
> The thing is that semicolon ";" might appear in one of the delimited
> fields and this will cause some bugs on the client side. So I want to
> change this character to a less common one. I've decided to use ASCII 7
- a
> "Bell" character. 
> 
> I am afraid that usage like this:
> 
> DECLARE V_OUTPUT VARCHAR(1024);
> DECLARE V_PARAM VARCHAR(32);
> ...
> 
> V_OUTPUT = V_OUTPUT || ASCII_CHAR(7) || V_PARAM;
> 
> will slow down my query because I will be doing a lot of concatenations.
> Correct me if I am wrong but I think that even if I put this code into
> stored procedure, ASCII_CHAR(7) will not be resolved at compile time and
> will be called over and over again?
> 
> Is there other way to put my character directly into the query? For
> semicolon that was easy:
> 
> V_OUTPUT = V_OUTPUT || ';' || V_PARAM;
> 
> but how to do this with a Bell character?

You might be able to use binary string literals:
http://www.firebirdsql.org/file/documentation/reference_manuals/reference_material/html/langrefupd25-hexbinstrings.html

Mark

Reply via email to