SQL/MP Programming Manual for COBOL85
Host Variables
HP NonStop SQL/MP Programming Manual for COBOL85—429326-004
2-20
Date-Time and INTERVAL Data Types
Example 2-3. Creating Valid DATETIME and INTERVAL Data Types
?INSPECT
?SYMBOLS
 IDENTIFICATION DIVISION.
 PROGRAM-ID.
  COBEXT.
 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
 SOURCE-COMPUTER. TANDEM/16.
 OBJECT-COMPUTER. TANDEM/16.
*
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 EXEC SQL BEGIN DECLARE SECTION END-EXEC.
 01 OUTPUT-VAL PIC X(30).
 01 INPUT-VAL PIC X(30) VALUE SPACES.
 01 TEMP-STMT-TEXT PIC X(200) VALUE SPACES.
 EXEC SQL END DECLARE SECTION END-EXEC.
 EXEC SQL INCLUDE SQLCA END-EXEC.
?NOLIST
 EXTENDED-STORAGE SECTION.
?LIST
 PROCEDURE DIVISION.
 1000-DRIVER.
 PERFORM 3000-SPECIFY-ERROR-HANDLING.
 PERFORM 3100-PROCESS-QUERIES.
 STOP RUN.
 3000-SPECIFY-ERROR-HANDLING.
 EXEC SQL WHENEVER SQLERROR PERFORM :6000-HANDLE-ERROR END-EXEC.
 3100-PROCESS-QUERIES.
* Table DT has column TS of datatype DATETIME
 MOVE "2004-01-22:13:40:05.550000" TO INPUT-VAL
 MOVE "SELECT CAST(TS AS CHAR(29)) FROM dt where ts 
-  " >= CAST( CAST(? AS CHAR(29)) AS DATETIME
-  " YEAR TO FRACTION)" TO TEMP-STMT-TEXT 
 EXEC SQL BEGIN WORK END-EXEC
 EXEC SQL PREPARE S1 FROM :TEMP-STMT-TEXT END-EXEC
 EXEC SQL DECLARE C1 CURSOR FOR S1 END-EXEC
 EXEC SQL OPEN C1 USING :INPUT-VAL END-EXEC
 PERFORM UNTIL SQLCODE < 0 OR SQLCODE = 100
 EXEC SQL FETCH C1 INTO :OUTPUT-VAL END-EXEC
 IF SQLCODE >= 0 AND SQLCODE NOT = 100 THEN
 DISPLAY "VALUE IS " OUTPUT-VAL
 END-IF
 END-PERFORM
 EXEC SQL CLOSE C1 END-EXEC
 EXEC SQL COMMIT WORK END-EXEC.
 6000-HANDLE-ERROR.
 ENTER TAL "SQLCADISPLAY" USING SQLCA
 STOP RUN.










