//****************************************************************************** // (c) Copyright IBM Corp. 2008 All rights reserved. // // The following sample of source code ("Sample") is owned by International // Business Machines Corporation or one of its subsidiaries ("IBM") and is // copyrighted and licensed, not sold. You may use, copy, modify, and // distribute the Sample in any form without payment to IBM, for the purpose // of assisting you in the development of your applications. // // The Sample code is provided to you on an "AS IS" basis, without warranty of // any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR // IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do // not allow for the exclusion or limitation of implied warranties, so the // above limitations or exclusions may not apply to you. IBM shall not be // liable for any damages you suffer as a result of using, copying, modifying // or distributing the Sample, even if IBM has been advised of the possibility // of such damages. //****************************************************************************** // // SAMPLE FILE NAME: ScalarFunctions.java // // PURPOSE :To demonstrate how to use the following scalar functions and // the special register. // 1. INITCAP // 2. LPAD // 3. RPAD // 4. TO_CLOB // 5. TO_DATE // 6. TO_CHAR // 7. TO_NUMBER // 8. DAYNAME // 9. MONTHNAME // 10. INSTR // 11. LOCATE_IN_STRING // 12. CURRENT LOCALE LC_TIME Register // 13. TRUNC // 14. ROUND // 15. TRUNC_TIMESTAMP // 16. ROUND_TIMESTAMP // 17. VARCHAR_FORMAT // 18. ADD_MONTHS // 19. LAST_DAY // // // // PREREQUISITE: // // // INPUTS: NONE // // OUTPUT: // // // // SQL STATEMENTS USED: // CREATE TABLE // INSERT // SELECT // VALUES // TRUNCATE TABLE // DROP TABLE // // SQL ROUTINES USED: // NONE // // JAVA 2 CLASSES USED: // Statement // ResultSet // // ************************************************************************* // For more information on the sample programs, see the README file. // // For information on developing JDBC applications, see the Application // Development Guide. // // For information on using SQL statements, see the SQL Reference. // // For the latest information on programming, compiling, and running DB2 // applications, visit the DB2 Information Center at // // http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp/ // // *************************************************************************/ // SAMPLE DESCRIPTION // // /************************************************************************* // 1. Use of INITCAP Scalar Function. // 2. Use of INITCAP Scalar Function with accented characters. // 3. Use of LPAD Scalar Function. // 4. Use of RPAD Scalar Function. // 5. Use of TO_CLOB Scalar Function. // 6. Use of TRUNC and TRUNCATE Scalar Function with numeric value. // 7. Use of TRUNC and TRUNCATE Scalar Function with datetime value. // 8. Use of ROUND Scalar Function with numeirc value. // 9. Use of ROUND Scalar Function with datetime value. // 10. Use of TRUNC_TIMESTAMP Scalar Function with datetime value. // 11. Use of ROUND_TIMESTAMP Scalar Function with datetime value. // 12. Use of TO_DATE Scalar Function. // 13. Use of TO_CHAR Scalar Function. // 14. Use of DAYNAME Scalar Function. // 15. Use of MONTHNAME Scalar Function. // 16. Use of INSTR Scalar Function. // 17. Use of LOCATE_IN_STRING Scalar Function. // 18. Use of CURRENT LOCALE LC_TIME register with TO_CHAR Scalar Function. // 19. Use of CURRENT LOCALE LC_TIME register with TO_DATE Scalar Function. // 20. Use of LAST_DAY Scalar Function. // 21. Use of ADD_MONTHS Scalar Function. // 22. Use of TO_NUMBER Scalar Function. /***************************************************************************/ import java.lang.*; import java.sql.*; class ScalarFunctions { static Db db; public static void main(String argv[]) { try { System.out.println(); System.out.println( "This sample shows how to use the following scalar functions: " + "\n\t INITCAP \n" + "\t LPAD \n" + "\t RPAD \n" + "\t TO_CLOB \n" + "\t TO_DATE \n" + "\t TO_CHAR \n" + "\t DAYNAME \n" + "\t MONTHNAME \n" + "\t INSTR \n" + "\t LOCATE_IN_STRING \n" + "\t TO_NUMBER \n" + "\t CURRENT LOCALE LC_TIME Register \n" + "\t TRUNC \n" + "\t ROUND \n" + "\t TRUNC_TIMESTAMP \n" + "\t ROUND_TIMESTAMP \n" + "\t VARCHAR_FORMAT \n" + "\t ADD_MONTHS \n" + "\t LAST_DAY \n"); Connection con = null; try { db=new Db(argv); } catch (Exception e) { System.out.println(" Error loading DB2 Driver...\n"); System.out.println(e); System.exit(1); } try { con=db.connect(); con.setAutoCommit(false); } catch (Exception e) { System.out.println("Error while Connecting to sample database."); System.err.println(e) ; System.exit(1); } // Functions calls to demonstrate each of the scalar functions // To Create Table CreateTable(con); /*****************************************************************/ /* INITCAP */ /*****************************************************************/ InitialCaps(con); /*****************************************************************/ /* LPAD AND RPAD */ /*****************************************************************/ Padding(con); /*****************************************************************/ /* TO_CLOB */ /*****************************************************************/ ToClob(con); /*****************************************************************/ /* TO_DATE */ /*****************************************************************/ ToDate(con); /*****************************************************************/ /* TO_CHAR */ /*****************************************************************/ ToChar(con); /*****************************************************************/ /* TO_NUMBER */ /*****************************************************************/ ToNumber(con); /*****************************************************************/ /* Round */ /*****************************************************************/ UseRound(con); /*****************************************************************/ /* Truncate */ /*****************************************************************/ UseTruncate(con); // Drop Table DropTable(con); // Disconnect from database. } catch (Exception e) { System.out.println("Error Msg: "+ e.getMessage()); } }// Main //Create table temp_table static void CreateTable(Connection con) { try { String st="CREATE TABLE temp_table(rowno INTEGER,"+ "tempdata VARCHAR(30),format VARCHAR(15))"; System.out.println("\nCREATE TABLE temp_table ("+ "rowno INTEGER, "+ "tempdata VARCHAR(30), "+ "format VARCHAR(15))\n \n"); Statement stmt = con.createStatement(); stmt.executeUpdate(st); } catch(Exception e) { System.out.print("Unable to Create Table....."+e); } }//CreateTable // InitCaps static void InitialCaps(Connection con) { try { String name; // Employee's name System.out.println("\nSELECT INITCAP "+ "(Firstnme) FROM Employee"); System.out.println("\n------------------------------------\n"); //Convert first character of each word to uppercase Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT INITCAP (Firstnme) "+ "FROM Employee"); while (rs.next()) { name = rs.getString(1); System.out.println(name); } rs.close(); stmt.close(); System.out.println("\nVALUES INITCAP "+ "('THEODORE Q SPENSER is manager')"); System.out.println("\n------------------------------------\n"); Statement stmt1 = con.createStatement(); ResultSet rs1 = stmt1.executeQuery("VALUES INITCAP "+ "('THEODORE Q SPENSER is manager')"); while (rs1.next()) { name = rs1.getString(1); System.out.println(name); } // INITCAP handles accented characters System.out.println("\nVALUES INITCAP "+ "('my name is �liz�beth �atz')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES INITCAP "+ "('my name is �liz�beth �atz')"); while (rs1.next()) { name = rs1.getString(1); System.out.println(name); } rs1.close(); stmt1.close(); // Commit con.commit(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); } } // InitialCaps //Make a string certain length by adding (padding) a specified characters static void Padding(Connection con) { try { String name; // Employee's name System.out.println("\nSELECT LPAD(Lastname, 10,'*') "+ "AS LastName FROM Employee"); System.out.println("\n------------------------------------\n"); // Make a string certain length by adding (padding) a specified // characters to the left Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT LPAD(Lastname, 10,'*') "+ "AS LastName FROM Employee"); while (rs.next()) { name = rs.getString(1); System.out.println(name); } rs.close(); stmt.close(); System.out.println("\nSELECT RPAD(Firstnme, 20, '.') FROM Employee"); System.out.println("\n-----------------------------\n"); // Make a string certain length by adding (padding) a specified // characters to the right Statement stmt1 = con.createStatement(); ResultSet rs1 = stmt1.executeQuery("SELECT RPAD(Firstnme, 20, '.')"+ " FROM Employee"); while (rs1.next()) { name = rs1.getString(1); System.out.println(name); } rs1.close(); stmt1.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (SQLException sql) { System.out.println("Error Msg: "+ sql.getMessage()); System.out.println("SQLState: "+sql.getSQLState()); System.out.println("SQLError: "+sql.getErrorCode()); } System.exit(1); } } // Padding //Represent a character string as CLOB type static void ToClob(Connection con) { try { Clob job; // Employee's Job System.out.println("\nSELECT TO_CLOB(Job) FROM Employee"); System.out.println("\n----------------------------------------------\n"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT TO_CLOB(Job) FROM Employee"); while (rs.next()) { job = rs.getClob(1); long jobLength = job.length(); String jobString = job.getSubString(1, (int)jobLength); System.out.println(jobString); } /*****************************************************************/ /* LOCATE_IN_STRING and INSTR */ /* Returns the starting position of the first occurrence of */ /* search string within another source string. */ /*****************************************************************/ // Locate character "�" in the given string starting from position 1 System.out.println("\nVALUES LOCATE_IN_STRING('J�rgen lives "+ "on Hegelstra�e','�',1,CODEUNITS32)"); System.out.println("\n----------------------------------------------\n"); rs=stmt.executeQuery("VALUES LOCATE_IN_STRING('J�rgen lives "+ "on Hegelstra�e','�',1,CODEUNITS32)"); while (rs.next()) { int loc=rs.getInt(1); System.out.println(loc); } // Locate string "position" in the given string. System.out.println("\nVALUES LOCATE_IN_STRING('The INSTR function "+ "returns the starting position of the first "+ "occurrence of one string within another string',"+ "'position',1, OCTETS)"); System.out.println("\n----------------------------------------------\n"); rs=stmt.executeQuery("VALUES LOCATE_IN_STRING('The INSTR "+ "function returns the starting "+ "position of the first occurrence "+ "of one string within another string',"+ "'position',1, OCTETS)"); while(rs.next()) { int loc1=rs.getInt(1); System.out.println(loc1); } // Locate the fourth occurrence of character "f" in the given string System.out.println("\nVALUES INSTR('The INSTR function returns "+ "the starting position of the first occurrence "+ "of one string within another string', "+ "'f',1, 4, OCTETS)"); System.out.println("\n----------------------------------------------\n"); rs=stmt.executeQuery("VALUES INSTR('The INSTR function returns "+ "the starting position of the first occurrence "+ "of one string within another string', "+ "'f',1, 4, OCTETS)"); while(rs.next()) { int instr1=rs.getInt(1); System.out.println(instr1); } // Locate the second occurrence of "string" by searching from the // end of the given string System.out.println("\nVALUES INSTR('The INSTR function returns the "+ "starting position of the first occurrence of one "+ "string within another string', "+ "'string', -1, 2, OCTETS)"); System.out.println("\n----------------------------------------------\n"); rs=stmt.executeQuery("VALUES INSTR('The INSTR function returns the "+ "starting position of the first occurrence of one "+ "string within another string', "+ "'string', -1, 2, OCTETS)"); while(rs.next()) { int instr2=rs.getInt(1); System.out.println(instr2); } rs.close(); stmt.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (SQLException sql) { System.out.println("Error Msg: "+ sql.getMessage()); System.out.println("SQLState: "+sql.getSQLState()); System.out.println("SQLError: "+sql.getErrorCode()); System.exit(1); } } } // ToClob //Represent character string as a timestamp static void ToDate(Connection con) { try { Date tdate; // Demonstrate different format elements of TO_DATE function Statement stmt0 = con.createStatement(); // Insert data into temp_table stmt0.executeUpdate("INSERT INTO temp_table VALUES "+ "(1,'1999-12-31 23:59:59', NULL)"); System.out.println("\nINSERT INTO temp_table VALUES "+ "(1,'1999-12-31 23:59:59', NULL)\n"); System.out.println("\nSELECT TO_DATE(tempdata, 'YYYY-MM-DD HH24:MI:SS') "+ "FROM temp_table"); System.out.println("\n------------------------------------\n"); ResultSet rs0 = stmt0.executeQuery("SELECT "+ "TO_DATE(tempdata, 'YYYY-MM-DD HH24:MI:SS') FROM temp_table"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } rs0.close(); stmt0.close(); System.out.println("\nINSERT INTO temp_table VALUES "+ "(2,'1999-12-31', 'YYYY-MM-DD')\n"); Statement stmt = con.createStatement(); stmt.executeUpdate("INSERT INTO temp_table VALUES (2,'1999-12-31',"+ "'YYYY-MM-DD')"); System.out.println("\nSELECT TO_DATE(tempdata, format) "+ "FROM temp_table WHERE rowno = 2"); System.out.println("\n------------------------------------\n"); ResultSet rs = stmt.executeQuery("SELECT TO_DATE(tempdata, format) "+ "FROM temp_table WHERE rowno = 2"); while (rs.next()) { tdate = rs.getDate(1); System.out.println(tdate); } rs.close(); stmt.close(); System.out.println("\nINSERT INTO temp_table VALUES (3,'1999-DEC-31',"+ "NULL)"); Statement stmt1 = con.createStatement(); stmt1.executeUpdate("INSERT INTO temp_table VALUES (3,'1999-DEC-31',"+ "NULL)"); System.out.println("\nSELECT TO_DATE(tempdata, "+ "'YYYY-MON-DD','CLDR 1.5:en_US' ) FROM temp_table WHERE rowno = 3"); System.out.println("\n------------------------------------\n"); ResultSet rs1 = stmt1.executeQuery("SELECT TO_DATE(tempdata, "+ "'YYYY-MON-DD','CLDR 1.5:en_US' ) FROM temp_table WHERE rowno = 3"); while (rs1.next()) { tdate = rs1.getDate(1); System.out.println(tdate); } rs1.close(); stmt1.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (SQLException sql) { System.out.println("Error Msg: "+ sql.getMessage()); System.out.println("SQLState: "+sql.getSQLState()); System.out.println("SQLError: "+sql.getErrorCode()); } System.exit(1); } } // ToDate //Represent timestamp as a character string type static void ToChar(Connection con) { try { String ttime; // Show tablename and its creation time as a String where tablename // starts with 'empl' System.out.println("\n\nSELECT VARCHAR(TABNAME, 20) AS Table_Name, "+ "TO_CHAR(CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') AS Creation_Time "+ "FROM SYSCAT.TABLES WHERE TABNAME LIKE 'EMPL%'\n"); System.out.println("\n------------------------------------\n"); Statement stmt0 = con.createStatement(); ResultSet rs0 = stmt0.executeQuery("SELECT VARCHAR(TABNAME, 20) AS "+ "Table_Name, TO_CHAR(CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') AS "+ "Creation_Time FROM SYSCAT.TABLES WHERE TABNAME LIKE 'EMPL%'"); System.out.println("TableName \t" + "CreationTime"); while (rs0.next()) { String tabname = rs0.getString(1); ttime = rs0.getString(2); System.out.println(tabname + "\t" + ttime); } rs0.close(); stmt0.close(); // Demonstrate different format elements of a DATE and a TIMESTAMP // values with TO_CHAR function System.out.println("\nSELECT TO_CHAR( received ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt2 = con.createStatement(); ResultSet rs2 = stmt2.executeQuery("SELECT TO_CHAR( received ) "+ "FROM in_tray"); while (rs2.next()) { ttime = rs2.getString(1); System.out.println(ttime); } rs2.close(); stmt2.close(); System.out.println("\nSELECT TO_CHAR( received,'FF9' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt3 = con.createStatement(); ResultSet rs3 = stmt3.executeQuery("SELECT "+ "TO_CHAR( received,'FF9' ) "+ "FROM in_tray"); while (rs3.next()) { ttime = rs3.getString(1); System.out.println(ttime); } rs3.close(); stmt3.close(); System.out.println("\nSELECT TO_CHAR( received,'FF12' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt4 = con.createStatement(); ResultSet rs4 = stmt4.executeQuery("SELECT "+ "TO_CHAR( received,'FF12' ) "+ "FROM in_tray"); while (rs4.next()) { ttime = rs4.getString(1); System.out.println(ttime); } rs4.close(); stmt4.close(); System.out.println("\nSELECT TO_CHAR( received,'MON', 'de_DE') "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt5 = con.createStatement(); ResultSet rs5 = stmt5.executeQuery("SELECT "+ "TO_CHAR( received,'MON', 'de_DE') "+ "FROM in_tray"); while (rs5.next()) { ttime = rs5.getString(1); System.out.println(ttime); } rs5.close(); stmt5.close(); System.out.println("\nSELECT TO_CHAR( received,'DD-YYYY-Month-Day' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt6 = con.createStatement(); ResultSet rs6 = stmt6.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY-Month-Day' ) "+ "FROM in_tray"); while (rs6.next()) { ttime = rs6.getString(1); System.out.println(ttime); } rs6.close(); stmt6.close(); System.out.println("\nSELECT TO_CHAR( received,'DD-YYYY-MONTH-Day' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt7 = con.createStatement(); ResultSet rs7 = stmt7.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY-MONTH-Day' ) "+ "FROM in_tray"); while (rs7.next()) { ttime = rs7.getString(1); System.out.println(ttime); } rs7.close(); stmt7.close(); System.out.println("\nSELECT TO_CHAR( received,'DD-YYYY-MONTH-DAY' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt8 = con.createStatement(); ResultSet rs8 = stmt8.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY-MONTH-DAY' ) "+ "FROM in_tray"); while (rs8.next()) { ttime = rs8.getString(1); System.out.println(ttime); } rs8.close(); stmt8.close(); System.out.println("\nSELECT TO_CHAR( received,'YYYY-MONTH-DD' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt9 = con.createStatement(); ResultSet rs9 = stmt9.executeQuery("SELECT "+ "TO_CHAR( received,'YYYY-MONTH-DD' ) "+ "FROM in_tray"); while (rs9.next()) { ttime = rs9.getString(1); System.out.println(ttime); } rs9.close(); stmt9.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'YYYY-Month-DAY-DD' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt00 = con.createStatement(); rs0 = stmt00.executeQuery("SELECT "+ "TO_CHAR( received,'YYYY-Month-DAY-DD' ) "+ "FROM in_tray"); while (rs0.next()) { ttime = rs0.getString(1); System.out.println(ttime); } rs0.close(); stmt00.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DD-YYYY-mon-dy HH-MM-SS' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt18 = con.createStatement(); ResultSet rs18 = stmt18.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY-mon-dy HH-MM-SS' ) "+ "FROM in_tray"); while (rs18.next()) { ttime = rs18.getString(1); System.out.println(ttime); } rs18.close(); stmt18.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'Dy-YYYY-MON-DD HH12-MM-SS' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt19 = con.createStatement(); ResultSet rs19 = stmt19.executeQuery("SELECT "+ "TO_CHAR( received,'Dy-YYYY-MON-DD HH12-MM-SS' ) FROM in_tray"); while (rs19.next()) { ttime = rs19.getString(1); System.out.println(ttime); } rs19.close(); stmt19.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'D-YYYY-Mon-DAY-DD HH12-MI-SS' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt20 = con.createStatement(); ResultSet rs20 = stmt20.executeQuery("SELECT "+ "TO_CHAR( received,'D-YYYY-Mon-DAY-DD HH12-MI-SS' ) FROM in_tray"); while (rs20.next()) { ttime = rs20.getString(1); System.out.println(ttime); } rs20.close(); stmt20.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DAY-YYYY-Month-DD HH12-MM-SS' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt10 = con.createStatement(); ResultSet rs10 = stmt10.executeQuery("SELECT "+ "TO_CHAR( received,'DAY-YYYY-Month-DD HH12-MM-SS' ) FROM in_tray"); while (rs10.next()) { ttime = rs10.getString(1); System.out.println(ttime); } rs10.close(); stmt10.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'Day-YYYY-Month-DD HH24-MM-SS' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt11 = con.createStatement(); ResultSet rs11 = stmt11.executeQuery("SELECT "+ "TO_CHAR( received,'Day-YYYY-Month-DD HH24-MM-SS' ) FROM in_tray"); while (rs11.next()) { ttime = rs11.getString(1); System.out.println(ttime); } rs11.close(); stmt11.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DAY-YYYY-Month-DD HH12-MM-SS PM' ) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt12 = con.createStatement(); ResultSet rs12 = stmt12.executeQuery("SELECT "+ "TO_CHAR( received,'DAY-YYYY-Month-DD HH12-MM-SS PM' ) FROM in_tray"); while (rs12.next()) { ttime = rs12.getString(1); System.out.println(ttime); } rs12.close(); stmt12.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DD-YYYY-MONTH-DAY HH24-MM-SS P.M.' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt13 = con.createStatement(); ResultSet rs13 = stmt13.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY-MONTH-DAY HH24-MM-SS P.M.' ) "+ "FROM in_tray"); while (rs13.next()) { ttime = rs13.getString(1); System.out.println(ttime); } rs13.close(); stmt13.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DAY-YYYY-MONTH-DD HH12-MM-SS AM' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt14 = con.createStatement(); ResultSet rs14 = stmt14.executeQuery("SELECT "+ "TO_CHAR( received,'DAY-YYYY-MONTH-DD HH12-MM-SS AM' ) "+ "FROM in_tray"); while (rs14.next()) { ttime = rs14.getString(1); System.out.println(ttime); } rs14.close(); stmt14.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DD-YYYY-Month-day HH12-MM-SS A.M.' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt15 = con.createStatement(); ResultSet rs15 = stmt15.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY-Month-day HH12-MM-SS A.M.' ) "+ "FROM in_tray"); while (rs15.next()) { ttime = rs15.getString(1); System.out.println(ttime); } rs15.close(); stmt15.close(); System.out.println("\nSELECT "+ "TO_CHAR( received,'DD-YYYY/MON/DAY', 'en_US' ) "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt16 = con.createStatement(); ResultSet rs16 = stmt16.executeQuery("SELECT "+ "TO_CHAR( received,'DD-YYYY/MON/DAY', 'en_US' ) "+ "FROM in_tray"); while (rs16.next()) { ttime = rs16.getString(1); System.out.println(ttime); } rs16.close(); System.out.println("\nVALUES "+ "VARCHAR_FORMAT('1988-12-22-14.07.21.136421', 'MON','de_DE')"); System.out.println("\n-----------------------------------------\n"); rs16 = stmt16.executeQuery("VALUES "+ "VARCHAR_FORMAT('1988-12-22-14.07.21.136421', 'MON','de_DE')"); while (rs16.next()) { ttime = rs16.getString(1); System.out.println(ttime); } rs16.close(); System.out.println("\nVALUES "+ "VARCHAR_FORMAT('1988-12-22-14.07.21.136421', 'MON','zh_CN')"); System.out.println("\n-----------------------------------------\n"); rs16 = stmt16.executeQuery("VALUES "+ "VARCHAR_FORMAT('1988-12-22-14.07.21.136421', 'MON','zh_CN')"); while (rs16.next()) { ttime = rs16.getString(1); System.out.println(ttime); } rs16.close(); System.out.println("\nVALUES "+ "VARCHAR_FORMAT('1988-12-22-14.07.21.136421', 'DAY','de_DE')"); System.out.println("\n-----------------------------------------\n"); rs16 = stmt16.executeQuery("VALUES "+ "VARCHAR_FORMAT('1988-12-22-14.07.21.136421', 'DAY','de_DE')"); while (rs16.next()) { ttime = rs16.getString(1); System.out.println(ttime); } rs16.close(); stmt16.close(); // Get the month from the TIMESTAMP System.out.println("\nSELECT TO_CHAR( received,'MONTH') "+ "FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt1 = con.createStatement(); ResultSet rs1 = stmt1.executeQuery("SELECT "+ "TO_CHAR( received,'MONTH') from in_tray"); while (rs1.next()) { ttime = rs1.getString(1); System.out.println(ttime); } rs1.close(); stmt1.close(); // Get the day from the TIMESTAMP System.out.println("\nSELECT TO_CHAR( received,'Dy') FROM in_tray"); System.out.println("\n-----------------------------------------\n"); Statement stmt17 = con.createStatement(); ResultSet rs17 = stmt17.executeQuery("SELECT "+ "TO_CHAR( received,'Dy') FROM in_tray"); while (rs17.next()) { ttime = rs17.getString(1); System.out.println(ttime); } /*****************************************************************/ /* DAYNAME */ /*****************************************************************/ String day; // Present dayname in the French locale System.out.println("\nSELECT DAYNAME(received, 'CLDR 1.5:fr_FR')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT DAYNAME(received, 'CLDR 1.5:fr_FR')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } // Present dayname in the Chinese locale System.out.println("\nSELECT DAYNAME(received, 'CLDR 1.5:zh_CN')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT DAYNAME(received, 'CLDR 1.5:zh_CN')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } // Present dayname in the Japanese locale System.out.println("\nSELECT DAYNAME(received, 'CLDR 1.5:ja_JP')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT DAYNAME(received, 'CLDR 1.5:ja_JP')" + " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } // Present dayname in the German locale System.out.println("\nSELECT DAYNAME(received, 'CLDR 1.5:de_DE')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT DAYNAME(received, 'CLDR 1.5:de_DE')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } /*****************************************************************/ /* MONTHNAME */ /*****************************************************************/ // Present Monthname in the Spanish locale System.out.println("\nSELECT MONTHNAME(received, 'CLDR 1.5:es_ES')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT MONTHNAME(received, 'CLDR 1.5:es_ES')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } // Present Monthname in the Italian locale System.out.println("\nSELECT MONTHNAME(received, 'CLDR 1.5:it_IT')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT MONTHNAME(received, 'CLDR 1.5:it_IT')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } // Present Monthname in the Japanese locale System.out.println("\nSELECT MONTHNAME(received, 'CLDR 1.5:ja_JP')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT MONTHNAME(received, 'CLDR 1.5:ja_JP')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } // Present Monthname in the German locale System.out.println("\nSELECT MONTHNAME(received, 'CLDR 1.5:de_DE')"+ " FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rs17=stmt17.executeQuery("SELECT MONTHNAME(received, 'CLDR 1.5:de_DE')"+ " FROM in_tray"); while(rs17.next()) { day=rs17.getString(1); System.out.println(day); } rs17.close(); stmt17.close(); /*****************************************************************/ /* CURRENT LOCALE LC_TIME */ /* Use of CURRENT LOCALE LC_TIME with TO_CHAR Scalar Function. */ /*****************************************************************/ // Use of the special register CURRENT LOCALE LC_TIME // Present a TIMESTAMP value in the French locale Statement stm=con.createStatement(); stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:fr_FR'"); System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:fr_FR'\n"); System.out.println("SELECT TO_CHAR(received) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); ResultSet rst=stm.executeQuery("SELECT TO_CHAR(received) FROM in_tray"); while (rst.next()) { ttime = rst.getString(1); System.out.println(ttime); } // Present a TIMESTAMP value in the Japanese locale stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:ja_JP'"); System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:ja_JP'\n"); System.out.println("SELECT TO_CHAR(received) FROM in_tray\n"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT TO_CHAR(received) FROM in_tray"); while (rst.next()) { ttime = rst.getString(1); System.out.println(ttime); } // Present a TIMESTAMP value in the Chinese locale stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:zh_CN'"); System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:zh_CN'\n"); System.out.println("SELECT TO_CHAR(received) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT TO_CHAR(received) FROM in_tray"); while (rst.next()) { ttime = rst.getString(1); System.out.println(ttime); } /*****************************************************************/ /* CURRENT LOCALE LC_TIME */ /* Use of CURRENT LOCALE LC_TIME with TO_DATE Scalar Function. */ /*****************************************************************/ // Present a DATE value in the French locale System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:fr_FR'"); stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:fr_FR'"); // Insert into temp_table stm.executeUpdate("INSERT INTO temp_table VALUES "+ "(5,'1999-D�C.-31', 'YYYY-MON-DD')"); System.out.println("\nINSERT INTO temp_table VALUES "+ "(5,'1999-D�C.-31', 'YYYY-MON-DD')"); System.out.println("\nSELECT TO_DATE(tempdata, format)FROM "+ "temp_table WHERE rowno = 5"); System.out.println("\n----------------------------------------\n"); rst=stm.executeQuery("SELECT TO_DATE(tempdata, format)FROM "+ "temp_table WHERE rowno = 5"); while (rst.next()) { ttime = rst.getString(1); System.out.println(ttime); } // Present a DATE value in the English locale stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:en_US'"); // Insert into temp_table stm.executeUpdate("INSERT INTO temp_table VALUES "+ "(4,'1999-DEC-31', 'YYYY-MON-DD')"); System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:en_US'"); System.out.println("\nINSERT INTO temp_table VALUES "+ "(4,'1999-DEC-31', 'YYYY-MON-DD')"); System.out.println("\nSELECT TO_DATE(tempdata, format)FROM "+ "temp_table WHERE rowno = 4"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT TO_DATE(tempdata, format)FROM "+ "temp_table WHERE rowno = 4"); while (rst.next()) { ttime = rst.getString(1); System.out.println(ttime); } /*****************************************************************/ /* CURRENT LOCALE LC_TIME */ /* Use of CURRENT LOCALE LC_TIME with DAYNAME Scalar Function */ /* MONTHNAME Scalar Function. */ /*****************************************************************/ // Present a Dayname in the French locale String dayname; // SET CURRENT LOCALE System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:fr_FR'\n"); stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:fr_FR'"); System.out.println("\nSELECT DAYNAME(received) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT DAYNAME(received) FROM in_tray"); while (rst.next()) { dayname = rst.getString(1); System.out.println(dayname); } // Present Dayname in the Italian locale // SET CURRENT LOCALE System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:it_IT'\n"); stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:it_IT'"); System.out.println("\nSELECT DAYNAME(received) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT DAYNAME(received) FROM in_tray"); while (rst.next()) { dayname = rst.getString(1); System.out.println(dayname); } // Returns a character string containing the name of the MONTH for the // month portion of expression based on the value of LOCALE LC_TIME // Present Monthname in the Spanish locale // SET CURRENT LOCALE System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:es_ES'\n"); stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:es_ES'"); System.out.println("\nSELECT MONTHNAME(received) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT MONTHNAME(received) FROM in_tray"); while (rst.next()) { dayname = rst.getString(1); System.out.println(dayname); } // Present Monthname in the German locale // SET CURRENT LOCALE System.out.println("\nSET CURRENT LOCALE LC_TIME = 'CLDR 1.5:de_DE'\n"); stm.executeUpdate("SET CURRENT LOCALE LC_TIME = 'CLDR 1.5:de_DE'"); System.out.println("\nSELECT MONTHNAME(received) FROM in_tray"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT MONTHNAME(received) FROM in_tray"); while (rst.next()) { dayname = rst.getString(1); System.out.println(dayname); } /*****************************************************************/ /* LAST_DAY */ /*****************************************************************/ // Present last day of the month indicated by expression System.out.println("\n VALUES CURRENT DATE\n"); System.out.println("\n-----------------------------------------\n"); Date tempdate; rst=stm.executeQuery("VALUES CURRENT DATE"); while (rst.next()) { tempdate = rst.getDate(1); System.out.println(tempdate); } System.out.println("\n VALUES LAST_DAY(CURRENT DATE)\n"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("VALUES LAST_DAY(CURRENT DATE)"); while (rst.next()) { tempdate = rst.getDate(1); System.out.println(tempdate); } System.out.println("\n SELECT LAST_DAY(DATE(received)) AS lastday FROM in_tray\n"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT LAST_DAY(DATE(received)) AS lastday FROM in_tray"); while (rst.next()) { tempdate = rst.getDate(1); System.out.println(tempdate); } /*****************************************************************/ /* ADD_MONTHS */ /*****************************************************************/ // Add number of months in given expression // Add 6 months in CURRENT DATE // Present last day of the month indicated by expression System.out.println("\n VALUES CURRENT DATE\n"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("VALUES CURRENT DATE"); while (rst.next()) { tempdate = rst.getDate(1); System.out.println(tempdate); } System.out.println("\n VALUES ADD_MONTHS(CURRENT DATE, 6)\n"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("VALUES ADD_MONTHS(CURRENT DATE, 6)"); while (rst.next()) { tempdate = rst.getDate(1); System.out.println(tempdate); } // Add 5 months System.out.println("\n SELECT ADD_MONTHS(received, 5) AS new_received FROM in_tray\n"); System.out.println("\n-----------------------------------------\n"); rst=stm.executeQuery("SELECT ADD_MONTHS(received, 5) AS new_received FROM in_tray"); while (rst.next()) { tempdate = rst.getDate(1); System.out.println(tempdate); } stm.close(); rst.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (Exception e) { System.out.println("Error"+e); } System.exit(1); } } // ToChar // Show string value in DECFLOAT type format. static void ToNumber(Connection con) { try { float tnumber; // Each 9 in the format element represents a digit. System.out.println("\nSELECT TO_NUMBER(EmpNo, '999999') "+ "AS EmpNo FROM Employee\n"); System.out.println("\n----------------------------------------\n"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT TO_NUMBER(EmpNo, '999999') "+ "AS EmpNo FROM Employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } System.out.println("\nSELECT TO_NUMBER(EmpNo, '000000') AS "+ "EmpNo FROM employee\n"); System.out.println("\n-----------------------------------------\n"); rs = stmt.executeQuery("SELECT TO_NUMBER(EmpNo, '000000') AS "+ "EmpNo FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // TRUNCATE all data from table temp_table con.commit(); stmt.executeUpdate("TRUNCATE TABLE temp_table IMMEDIATE"); System.out.println("\n--------------------------------------\n"); System.out.println("Table Truncated...."); System.out.println("\n---------------------------------------\n"); // INSERT new data into table temp_table System.out.println("\nINSERT INTO temp_table VALUES (1,'123.45',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (1,'123.45',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (2,'-123456.78'"+ " ,NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (2,'-123456.78',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (3,'+123456.78'," + "NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (3,'+123456.78',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (4,'1.23E4',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (4,'1.23E4',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (5,'001,234',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (5,'001,234',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (6,'1234',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (6,'1234',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (7,'1234-',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (7,'1234-',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (8,'+1234',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (8,'+1234',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (9,'<1234>',NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (9,'<1234>',NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (10,'123,456.78-',"+ "NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (10,'123,456.78-',"+ "NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (11,'<123,456.78>',"+ "NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (11,'<123,456.78>',"+ "NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (12,'$123,456.78',"+ "NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (12,'$123,456.78',"+ "NULL)"); System.out.println("\nINSERT INTO temp_table VALUES (13,'+123,456.78',"+ "NULL)"); stmt.executeUpdate("INSERT INTO temp_table VALUES (13,'+123,456.78',"+ "NULL)"); // List rows from table temp_table System.out.println("\nSELECT * FROM temp_table\n\n"); System.out.println("---------------------------------------------------"); System.out.println("ROWNO \t TEMPDATA \t \t FORMAT\n"); System.out.println("---------------------------------------------------"); rs=stmt.executeQuery("SELECT * FROM temp_table"); while(rs.next()) { System.out.print("\n"+rs.getInt(1)+" \t "); System.out.print(rs.getString(2)+" \t\t "); System.out.print(rs.getString(3)+"\n"); } rs.close(); stmt.close(); // MI in the format element is to represent the sign of the string // If it is a negative number, a trailing minus sign (-) is expected. // If it is a positive number, an optional trailing space is expected. System.out.println("\n\nSELECT TO_NUMBER(tempdata)FROM "+ "temp_table WHERE rowno = 1"); System.out.println("\n----------------------------\n"); Statement stmt1=con.createStatement(); ResultSet rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata)FROM "+ "temp_table WHERE rowno = 1"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata)FROM temp_table "+ "WHERE rowno = 2"); System.out.println("\n----------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata)FROM temp_table "+ "WHERE rowno = 2"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata)FROM temp_table "+ "WHERE rowno = 3"); System.out.println("\n-----------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata)FROM temp_table "+ "WHERE rowno = 3"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata)FROM temp_table "+ "WHERE rowno = 4"); System.out.println("\n-----------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata)FROM temp_table "+ "WHERE rowno = 4"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'000,000')FROM "+ "temp_table WHERE rowno = 5"); System.out.println("\n------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'000,000')FROM "+ "temp_table WHERE rowno = 5"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'9999.99')FROM "+ "temp_table WHERE rowno = 1"); System.out.println("\n-------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'9999.99')FROM "+ "temp_table WHERE rowno = 1"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'9999MI')FROM "+ "temp_table WHERE rowno = 6"); System.out.println("\n--------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'9999MI')FROM "+ "temp_table WHERE rowno = 6"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'9999MI')FROM "+ "temp_table WHERE rowno = 7"); System.out.println("\n--------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'9999MI')FROM "+ "temp_table WHERE rowno = 7"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'999999MI')FROM "+ "temp_table WHERE rowno = 6"); System.out.println("\n--------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'999999MI')FROM "+ "temp_table WHERE rowno = 6"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'S9999')FROM "+ "temp_table WHERE rowno = 8"); System.out.println("\n----------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'S9999')FROM "+ "temp_table WHERE rowno = 8"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'9999PR')FROM "+ "temp_table WHERE rowno = 6"); System.out.println("\n-----------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'9999PR')FROM "+ "temp_table WHERE rowno = 6"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'9999PR')FROM "+ "temp_table WHERE rowno = 9"); System.out.println("\n------------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'9999PR')FROM "+ "temp_table WHERE rowno = 9"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'000,000.00MI')FROM "+ "temp_table WHERE rowno = 10"); System.out.println("\n--------------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'000,000.00MI')FROM "+ "temp_table WHERE rowno = 10"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'000,000.00PR')FROM "+ "temp_table WHERE rowno = 11"); System.out.println("\n--------------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'000,000.00PR')FROM "+ "temp_table WHERE rowno = 11"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'$999,999.99')FROM "+ "temp_table WHERE rowno = 12"); System.out.println("\n---------------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'$999,999.99')FROM "+ "temp_table WHERE rowno = 12"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'$S000,000.00')FROM "+ "temp_table WHERE rowno = 12"); System.out.println("\n--------------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'$S000,000.00')FROM "+ "temp_table WHERE rowno = 12"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } System.out.println("\n\nSELECT TO_NUMBER(tempdata,'S000,000.00')FROM "+ "temp_table WHERE rowno = 13"); System.out.println("\n--------------------------------------\n"); rs1=stmt1.executeQuery("SELECT TO_NUMBER(tempdata,'S000,000.00')FROM "+ "temp_table WHERE rowno = 13"); while (rs1.next()) { tnumber = rs1.getFloat(1); System.out.println(tnumber); } rs1.close(); stmt1.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (SQLException sql) { System.out.println("Error Msg: "+ sql.getMessage()); System.out.println("SQLState: "+sql.getSQLState()); System.out.println("SQLError: "+sql.getErrorCode()); } System.exit(1); } } // ToNumber static void UseRound(Connection con) { try { float tnumber; /*****************************************************************/ /* ROUND numeric value */ /*****************************************************************/ // Select average salary System.out.println("\nSELECT AVG(SALARY) FROM employee\n"); System.out.println("\n----------------------------------------\n"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT AVG(SALARY) FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // Select average salary rounded 5 places to the right of the // decimal point System.out.println("\nSELECT ROUND((AVG(SALARY)), 5) "+ " FROM employee\n"); System.out.println("\n-----------------------------------------\n"); rs = stmt.executeQuery("SELECT ROUND((AVG(SALARY)), 5) "+ "FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // Select average salary rounded 0 places to the right of the // decimal point System.out.println("\nSELECT ROUND((AVG(SALARY)), 0) FROM employee\n"); System.out.println("\n----------------------------------------\n"); rs = stmt.executeQuery("SELECT ROUND((AVG(SALARY)), 0) FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // Select average salary rounded -2 places to the right of the // decimal point System.out.println("\nSELECT ROUND((AVG(SALARY)), -2) "+ " FROM employee\n"); System.out.println("\n-----------------------------------------\n"); rs = stmt.executeQuery("SELECT ROUND((AVG(SALARY)), -2) "+ "FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } rs.close(); stmt.close(); /*****************************************************************/ /* ROUND datetime value */ /*****************************************************************/ // Round DATE and TIME value on the basis of format string Date tdate; Time ttime; System.out.println("\nSELECT DATE(received) FROM in_tray"); System.out.println("\n------------------------------------\n"); Statement stmt0 = con.createStatement(); ResultSet rs0 = stmt0.executeQuery("SELECT DATE(received) FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT ROUND(DATE(received), 'MON') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(DATE(received), 'MON') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT ROUND(DATE(received), 'D') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(DATE(received), 'D') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT ROUND(DATE(received), 'Y') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(DATE(received), 'Y') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT ROUND(DATE(received), 'WW') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(DATE(received), 'WW') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TIME(received) FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TIME(received) FROM in_tray"); while (rs0.next()) { ttime = rs0.getTime(1); System.out.println(ttime); } System.out.println("\nSELECT ROUND(TIME(received), 'HH') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(TIME(received), 'HH') FROM in_tray"); while (rs0.next()) { ttime = rs0.getTime(1); System.out.println(ttime); } System.out.println("\nSELECT ROUND(TIME(received), 'MI') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(TIME(received), 'MI') FROM in_tray"); while (rs0.next()) { ttime = rs0.getTime(1); System.out.println(ttime); } // ROUND DATE value on the basis of format string and locale System.out.println("\nSELECT ROUND(DATE(received), 'DAY', 'zh_CN') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(DATE(received), 'DAY', 'zh_CN') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT ROUND(DATE(received), 'D', 'fr_FR') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT ROUND(DATE(received), 'D', 'fr_FR') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } rs0.close(); stmt0.close(); /*****************************************************************/ /* ROUND_TIMESTAMP datetime value */ /*****************************************************************/ // ROUND character string on the basis of format string Timestamp ttimestamp; System.out.println("\nVALUES ROUND_TIMESTAMP('1988-12-22-14.07.21.136421', 'HH')"); System.out.println("\n------------------------------------\n"); Statement stmt1 = con.createStatement(); ResultSet rs1 = stmt1.executeQuery("VALUES ROUND_TIMESTAMP('1988-12-22-14.07.21.136421', 'HH')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nVALUES ROUND_TIMESTAMP('1988-12-22-14.07.21.136421', 'MM')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES ROUND_TIMESTAMP('1988-12-22-14.07.21.136421', 'MM')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } rs1.close(); stmt1.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (SQLException sql) { System.out.println("Error Msg: "+ sql.getMessage()); System.out.println("SQLState: "+sql.getSQLState()); System.out.println("SQLError: "+sql.getErrorCode()); } System.exit(1); } } // UseRound static void UseTruncate(Connection con) { try { float tnumber; /*****************************************************************/ /* TRUNC or TRUNCATE numeric value */ /*****************************************************************/ // Select average salary from employee table System.out.println("\nSELECT AVG(SALARY) FROM employee\n"); System.out.println("\n----------------------------------------\n"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT AVG(SALARY) FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // Select average salary truncated 5 places to the right of the // decimal point System.out.println("\nSELECT TRUNCATE((AVG(SALARY)), 5) "+ " FROM employee\n"); System.out.println("\n-----------------------------------------\n"); rs = stmt.executeQuery("SELECT TRUNCATE((AVG(SALARY)), 5) "+ "FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // Select average salary truncated 0 places to the right of the // decimal point System.out.println("\nSELECT TRUNCATE((AVG(SALARY)), 0) FROM employee\n"); System.out.println("\n----------------------------------------\n"); rs = stmt.executeQuery("SELECT TRUNCATE((AVG(SALARY))) FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } // Select average salary truncated -2 places to the right of the // decimal point System.out.println("\nSELECT TRUNCATE((AVG(SALARY)), -2) "+ " FROM employee\n"); System.out.println("\n-----------------------------------------\n"); rs = stmt.executeQuery("SELECT TRUNCATE((AVG(SALARY)), -2) "+ "FROM employee"); while (rs.next()) { tnumber = rs.getFloat(1); System.out.println(tnumber); } rs.close(); stmt.close(); /*****************************************************************/ /* TRUNC or TRUNCATE datetime value */ /*****************************************************************/ // TRUNCATE DATE and TIME value on the basis of format string Date tdate; Time ttime; // Select rows from in_tray table System.out.println("\nSELECT received FROM in_tray"); System.out.println("\n------------------------------------\n"); Statement stmt0 = con.createStatement(); ResultSet rs0 = stmt0.executeQuery("SELECT received FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNC(DATE(received), 'MONTH') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNC(DATE(received), 'MONTH') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNCATE(DATE(received), 'DAY') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNCATE(DATE(received), 'DAY') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNCATE(DATE(received), 'YEAR') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNCATE(DATE(received), 'YEAR') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNC(DATE(received), 'CC') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNC(DATE(received), 'CC') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNC(DATE(received), 'Q') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNC(DATE(received), 'Q') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNCATE(DATE(received), 'I') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNCATE(DATE(received), 'I') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNC(TIME(received), 'HH') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNC(TIME(received), 'HH') FROM in_tray"); while (rs0.next()) { ttime = rs0.getTime(1); System.out.println(ttime); } System.out.println("\nSELECT TRUNC(TIME(received), 'MI') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNC(TIME(received), 'MI') FROM in_tray"); while (rs0.next()) { ttime = rs0.getTime(1); System.out.println(ttime); } System.out.println("\nSELECT TRUNC(TIME(received), 'SS') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNC(TIME(received), 'SS') FROM in_tray"); while (rs0.next()) { ttime = rs0.getTime(1); System.out.println(ttime); } // TRUNCATE DATE value on the basis of format string and locale System.out.println("\nSELECT TRUNCATE(DATE(received), 'DAY', 'ja_JP') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNCATE(DATE(received), 'DAY', 'ja_JP') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } System.out.println("\nSELECT TRUNCATE(DATE(received), 'D', 'fr_FR') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs0 = stmt0.executeQuery("SELECT TRUNCATE(DATE(received), 'D', 'fr_FR') FROM in_tray"); while (rs0.next()) { tdate = rs0.getDate(1); System.out.println(tdate); } rs0.close(); stmt0.close(); /*****************************************************************/ /* TRUNC_TIMESTAMP datetime value */ /*****************************************************************/ // Truncate character string on the basis of format string Timestamp ttimestamp; System.out.println("\nVALUES TRUNC_TIMESTAMP('1988-12-22-14.07.21.136421', 'MONTH')"); System.out.println("\n------------------------------------\n"); Statement stmt1 = con.createStatement(); ResultSet rs1 = stmt1.executeQuery("VALUES TRUNC_TIMESTAMP('1988-12-22-14.07.21.136421', 'MONTH')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nVALUES TRUNC_TIMESTAMP('1988-12-25-17.12.30.000000', 'YEAR')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES TRUNC_TIMESTAMP('1988-12-25-17.12.30.000000', 'YEAR')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nSELECT TRUNC_TIMESTAMP(received, 'D') FROM in_tray"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("SELECT TRUNC_TIMESTAMP(received, 'D') FROM in_tray"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nVALUES TRUNC_TIMESTAMP('1988-12-25', 'CC')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES TRUNC_TIMESTAMP('1988-12-25', 'CC')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nVALUES TRUNC_TIMESTAMP('1988-12-23', 'Q')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES TRUNC_TIMESTAMP('1988-12-23', 'Q')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nVALUES TRUNC_TIMESTAMP('1988-12-25-17.12.30.000000', 'I')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES TRUNC_TIMESTAMP('1988-12-25-17.12.30.000000', 'I')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } System.out.println("\nVALUES TRUNC_TIMESTAMP('1988-12-22-14.07.21.136421', 'DAY', 'es_ES')"); System.out.println("\n------------------------------------\n"); rs1 = stmt1.executeQuery("VALUES TRUNC_TIMESTAMP('1988-12-22-14.07.21.136421', 'DAY', 'es_ES')"); while (rs1.next()) { ttimestamp = rs1.getTimestamp(1); System.out.println(ttimestamp); } rs1.close(); stmt1.close(); } catch (SQLException sqle) { System.out.println("Error Msg: "+ sqle.getMessage()); System.out.println("SQLState: "+sqle.getSQLState()); System.out.println("SQLError: "+sqle.getErrorCode()); System.out.println("Rollback the transaction and quit the program"); System.out.println(); try { con.rollback(); } catch (SQLException sql) { System.out.println("Error Msg: "+ sql.getMessage()); System.out.println("SQLState: "+sql.getSQLState()); System.out.println("SQLError: "+sql.getErrorCode()); } System.exit(1); } } // UseTruncate //Drop table temp_table static void DropTable(Connection con) { try { String st="DROP TABLE temp_table"; Statement stmt = con.createStatement(); stmt.executeUpdate(st); System.out.println("\n\nDrop table temp_table; \n"); con.commit(); db.disconnect(); } catch(Exception e) { System.out.println("Unable to drop table....."); } } //DropTable } // ScalarFunctions