> Richard Klein <[EMAIL PROTECTED]>
> wrote:
>> One question:  I thought that the '\' character is not part of the
>> SQL standard.  (That's why I specified '/' instead as my ESCAPE
>> character).
> 
> I'm not sure I understand. You can use any character as an escape 
> character. E.g. LIKE '2!_%' ESCAPE '!'. A backslash is as good as any.
> 
> Igor Tandetnik

I'm a SQL newbie, so I may very well be wrong about this ...

My understanding is that you can use any legal SQL character as an escape
character, but that a backslash is not a legal SQL character.

I got this impression from a sentence I read on the SQLite website (in
the description of literal numeric values):

"C-style escapes using the backslash character are not supported because
they are not standard SQL."

So then I checked the spec, and found syntax definitions (reproduced at
the end of this email) that do seem to confirm that backslash ('\') is
not a legal SQL language character.

I haven't checked to see whether SQLite accepts backslash as an escape
character.

- Richard Klein

==========================================================================

          <SQL language character> ::=
                 <simple Latin letter>
               | <digit>
               | <SQL special character>

          <simple Latin letter> ::=
                 <simple Latin upper case letter>
               | <simple Latin lower case letter>

          <simple Latin upper case letter> ::=
                     A | B | C | D | E | F | G | H | I | J | K | L | M | N | O
               | P | Q | R | S | T | U | V | W | X | Y | Z

          <simple Latin lower case letter> ::=
                     a | b | c | d | e | f | g | h | i | j | k | l | m | n | o
               | p | q | r | s | t | u | v | w | x | y | z

          <digit> ::=
               0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

          <SQL special character> ::=
                 <space>
               | <double quote>
               | <percent>
               | <ampersand>
               | <quote>
               | <left paren>
               | <right paren>
               | <asterisk>
               | <plus sign>
               | <comma>
               | <minus sign>
               | <period>
               | <solidus>
               | <colon>
               | <semicolon>
               | <less than operator>
               | <equals operator>
               | <greater than operator>
               | <question mark>
               | <underscore>
               | <vertical bar>

          <space> ::= !! space character in character set in use

          <double quote> ::= "

          <percent> ::= %

          <ampersand> ::= &

          <quote> ::= '

          <left paren> ::= (

          <right paren> ::= )

          <asterisk> ::= *

          <plus sign> ::= +

          <comma> ::= ,

          <minus sign> ::= -

          <period> ::= .

          <solidus> ::= /

          <colon> ::= :

          <semicolon> ::= ;

          <less than operator> ::= <

          <equals operator> ::= =

          <greater than operator> ::= >

          <question mark> ::= ?

          <left bracket> ::= [

          <right bracket> ::= ]

          <underscore> ::= _

          <vertical bar> ::= |


_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to