General information
Category:
Databases,Tables, Views, Indexing and SQL syntax
>DTOS converts a date to a string in the format yyyymmdd, so it does sort correctly. You only have to convert numeric values (including dates) to strings for indexing when the index expression combines it with a string -- since you can concatenate a string only with another string. (For example, if you're indexing by customer ID and date.)
>
>
>>I don't remember where or why, but it was suggested that to index a date field in the expression put DTOS(datefieldname). Is that right? Why? Wouldn't that equate today 08/17/99 to "081799" which won't sort correctly?
PMFJI: If you are not using a concatenated key with a character string or need to seek using a character string, why not just use index on (datefield) tag (datefield)... Any function built into a tag expression will inevitably make it somewhat slower. DTOS() preserves the order to match a pure index on (datefield), as stated above -- so ordering is not an issue. If you do a SQL select and need to order by the (datefield) you can still keep it optimizable even if its "...order by name, datefield" if the tag is a date tag. Else, your optimization needs to use DTOS(datefield) as the ordering/seeking criteria...
HTH
Rob
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only