Forum Post: Enhancement request: 'IN' operator for where clause

  • Thread starter Thread starter Thomas Wurl
  • Start date Start date
Status
Not open for further replies.
T

Thomas Wurl

Guest
OpenEdge currently doesn't have an 'IN' operator like SQL has. Example: SELECT * FROM customer WHERE state IN ('MA', 'NY', 'FL'). There are some ways to do this in OpenEdge: 1) FOR EACH customer WHERE LOOKUP(state,"MA,NY,FL") 0 This always results in a table scan. There may also be formatting issues which non character fields like decimal keys like dynamics obj fields. 2) FOR EACH customer WHERE (state = 'MA' OR state = 'NY' OR state = 'FL') if there is an index on state the second query would be indexed. This also supports passing the values in the right datatype without formatting issues. But If we have *many* values and if we generate the statement then there may be a problem with the statement length (long field name and long value like guid). The query string is a character and not a longchar and limited to about 32k characters. What do you think. Are you missing this too? @development: do you already have this on your list? :-)

Continue reading...
 
Status
Not open for further replies.
Back
Top