>  Docs Center  >  Libraries  >  Buie  >  QUOTE
Libraries

QUOTE

QUOTE

Name


  quote

Purpose (one Line Only)


  Convert a string into one safe for including in a mySQL query

Description


  Similar to the mysql function quote. Leading and trailing blanks
  are removed. Leading and trailing quotes are preserved but are considered
  to be delimiters for the string provided there is a leading and a trailing
  quote. If there is just one it is considered to be interior to the string.
  An interior single quote is converted to \' and a backslash is converted
  to \\. Embedded newlines (string(10B)) are quoted with '\n' where n is
  the letter n.
  On output, the string will have leading and trailing quotes added
  if they weren't already there. However, if the string is a scalar
  and it is 'NULL' (4 characters) after stripping blanks
  it is returned as is without quotes.
  The input can either be a single string or a string array. If an array,
  the strings are joined with a quoted newline separator. For example,
    s = quote(['this text output','more of the output']) produces
    " 'this text output\nmore of the output' " as a scalar string. This
    feature exists to support comment fields of type TEXT or BLOB.
  In multiline cases (input is a string array or contains 10B newline
  characters) empty or all whitespace lines at the begining or end
  of the total string will be trimmed. A single such line comes back as
  a ''.

Category


  Database

Calling Sequence


  result = quote(string)

Inputs


  string - String to be processed- if a string array, the strings are
            joined with a newline quoted after each string including the
            last. Embedded newline characters (10B) are also quoted in
            this way.

Optional Input Parameters


Keyword Input Parameters


  LITERAL- Flag, if set, some of the processing of quote is not done,
              specifically removal of trailing/leading blanks, special
              treatment for the string 'NULL', and removal of leading and
              null/whitepace lines in the multiline cases. The processing
              of single quotes and backslashes in the input string is the same.

Outputs


  return value is a string that is ready for mySQL

Keyword Output Parameters


Common Blocks


Side Effects


Restrictions


  Newlines are currently quoted with two characters: '\n' where the
  n is a literal lower case n. It is inadvisable to try to use an
  actual '\n' within the string to be quoted, although it will work
  currently if the string is a scalar and contains no embedded 10B characters.

Procedure


Modification History


  Written by Marc W. Buie, Lowell Observatory, 2003/08/12
  2006/10/27, Peter L. Collins, Lowell Observatory
              add support for string array input (with newlines)
  2006/11/28, PLC, allow literal (string(10B)) newlines in str.
  2006/12/11, PLC, disconnect LITERAL flag from rank of str and
                  (except if LITERAL) trim leading and trailing
                    null or all whitespace lines in the multiline cases.
  2016/10/24, MWB, added support for quoting a semi-colon



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us