Expert
Q: | |
20-21. | Use the FM (fill mode) format mask element to suppress padding and leading zeros. FM works like a toggle: the first occurrence in the format mask turns suppression on, the second turns it off, and so on. Here is an example: DECLARE d DATE := TO_DATE ('01-MAY-1994', 'DD-MON-YYYY'); BEGIN -- Normal output DBMS_OUTPUT.put_line (TO_CHAR (d, 'Month DD, YYYY')); -- Suppress padding and leading zeros DBMS_OUTPUT.put_line (TO_CHAR (d, 'FMMonth DD, YYYY')); -- Suppress padding but display leading zeros (FM is a toggle) DBMS_OUTPUT.put_line (TO_CHAR (d, 'FMMonth FMDD, YYYY')); END; SQL> / May 01, 1994 May 1, 1994 May 01, 1994 PL/SQL procedure successfully completed. SQL> |
Q: | |
20-22. | You can use the FX (format exact) format mask element to require that a date have a specific format (i.e., that it use hyphens as delimiters); the TO_CHAR function raises an exception if the string is not in the required format. If the passed string doesn’t contain the correct literal characters (e.g., hypens, slashes), TO_DATE raises the exception: ORA-01861: literal does not match format string If the string doesn’t have the expected date format (e.g., two-digit year instead of four, one-digit month instead of two, MONTH format instead of MON), TO_DATE raises the exception: ORA-01862: the numeric value does not match the length of the format item Testing exact match for FXDD-MON-YYYY 21-MAY-1999 => Format Okay 01/MAY/1999 => ORA-01861: literal does not match format string 01-MAY-99 => ORA-01862: the numeric ... |
Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.