function dbfind,spar,listin,SILENT=silent,fullstring = Fullstring, $ errmsg=errmsg, Count = count ;+ ; NAME: ; DBFIND() ; PURPOSE: ; Search data base for entries with specified characteristics ; EXPLANATION: ; Function to search data base for entries with specified ; search characteristics. ; ; CALLING SEQUENCE: ; result = dbfind(spar,[ listin, /SILENT, /FULLSTRING, ERRMSG=, Count = ]) ; ; INPUTS: ; spar - search_parameters (string)...each search parameter ; is of the form: ; ; option 1) min_val < item_name < max_val ; option 2) item_name = value ; option 3) item_name = [value_1, value_10] ; Note: option 3 is also the slowest. ; option 4) item_name > value ; option 5) item_name < value ; option 6) item_name = value(tolerance) ;eg. temp=25.0(5.2) ; option 7) item_name ;must be non-zero ; ; Multiple search parameters are separated by a comma. ; eg. 'cam_no=2,14 is interpreted as greater than or equal. ; ; RA and DEC keyfields are stored as floating point numbers ; in the data base may be entered as HH:MM:SEC and ; DEG:MIN:SEC. Where: ; ; HH:MM:SEC equals HH + MM/60.0 + SEC/3600. ; DEG:MIN:SEC equals DEG + MIN/60.0 + SEC/3600. ; ; For example: ; 40:34:10.5 < dec < 43:25:19 , 8:22:1.0 < ra < 8:23:23.0 ; ; Specially encoded date/time in the data base may ; be entered by CCYY/DAY:hr:min:sec which is ; interpreted as ; CCYY*1000+DAY+hr/24.0+min/24.0/60.+sec/24.0/3600. ; If a two digit year is supplied and YY GE 40 then it is ; understood to refer to year 1900 +YY; if YY LT 40 then it is ; understood to refer to year 2000 +YY ; For example ; 1985/201:10:35:30