Convert varchar HH:MM AM in date HH24

I have two column (varchar) with these format values HH:MM AM or PM , I have need of two columns date because I have to try the differents between them.
example
column1(date finish) column2 (date start) result (minutes)
16:30 17:45 75
Someone can help me?
Thanks a lot
Massimiliano

not very much clear about the requirement, but is it this what you are looking for...
  1  WITH t AS (
  2   SELECT '16:30' t1, '17:45' t2 FROM dual
  3  )
  4  SELECT ( (TO_DATE(t2, 'HH24:MI') -
  5   TO_DATE(t1, 'HH24:MI')) * (24*60) ) diff
  6* FROM t
16:17:22 SQL> /
      DIFF
        75

Similar Messages

  • How to convert varchar to date datatype while insert or update in table

    Hai All
    I need to convert to varchar to date.
    I have two Tables T1,T2
    T1 Structure
    Code varchar
    Time varchar
    Date varchar
    T2 Structure
    Empname var
    Empcode var
    Intime date
    Outtime date
    Intrin date
    Introut date
    Att_date
    Now i need to move Time form T1 to T2 Intime,outtime,intrin,introut according some condition
    So now i need to convert Varchar to Date while insert or update
    I have tried something
    Insert into T1 (code,intime,att_date)values
    (code,To_date(Date||time,'dd-mon-yyyy hh24mi'),att_date);
    OR While update
    Update T2 set Outtime=To_date(Date||time,'dd-mon-yyyy hh24mi') where...
    I got an error Ora-01861
    Regards
    Srikkanth.M

    You didn't show any example of your date or time values, butyou might need to add a space between them, like
    To_date(Date || ' ' || time,'dd-mon-yyyy hh24mi')

  • Convert varchar(20) date to date that looks like mm/dd/yyyy

    Good afternoon,
    I am a total novice at SQL and have been tasked to change a varchar(20) date column (shows up as m/dd/yy) to show up as mm/dd/yyyy. I've looked at the previous posts, but being a novice, it's difficult to wade through the non-applicable stuff. The column
    that needs to be changed is field2, but I'm not sure how to construct a statement to reflect my objective.
    Thank you in advance. 

    The sample uses a table variable. You can program it the same way for a table:
    DECLARE @t TABLE (dt VARCHAR(20))
    INSERT INTO @t
    VALUES ('1/2/12')
    ,('3/10/10')
    ,('7/23/9')
    ,('aa')
    ,('12/31/99')
    ,('10/20/00')
    ,('10/20/01')
    SET DATEFORMAT mdy
    SELECT dt
    ,CONVERT(VARCHAR(10), CASE
    WHEN isdate(dt) = 0
    THEN NULL
    ELSE cast(dt AS DATE)
    END, 101) AS newDt
    FROM @t;/******** TRY_CONVERT() method ************/
    SELECT dt, newDt=CONVERT(varchar(10),TRY_CONVERT(date,dt),101) FROM @t;
    GO
    dt newDt
    1/2/12 01/02/2012
    3/10/10 03/10/2010
    7/23/9 07/23/2009
    aa NULL
    12/31/99 12/31/1999
    10/20/00 10/20/2000
    10/20/01 10/20/2001
    dt newDt
    1/2/12 01/02/2012
    3/10/10 03/10/2010
    7/23/9 07/23/2009
    aa NULL
    12/31/99 12/31/1999
    10/20/00 10/20/2000
    10/20/01 10/20/2001
    Starting with SQL Server 2012 you can use TRY_CONVERT().
    You can start studying datetime functions here:
    http://www.sqlusa.com/bestpractices/datetimeconversion/
    Kalman Toth Database & OLAP Architect
    T-SQL Scripts at sqlusa.com
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Convert Varchar to Date

    Hi
    im trying to convert varchar to date.
    So, i used To_date ( cilumn, 'DD-MM-YYYY') , Since i have to order the out put in Decending Order i used the same convertion function with Order by clause.
    The problem is ... the out put is not ordered,
    <sql>
    select date_created
    from
    select distinct
    to_date(created_date,'DD-MM-YYYY') as date_created
    from schedule_backup
    order by date_created desc
    <sql>
    out put is
    =================
    DATE_CREA
    26-NOV-09
    23-NOV-09
    19-NOV-09
    16-NOV-09
    11-NOV-09
    04-NOV-09
    30-OCT-09
    11-SEP-09
    04-MAR-10
    01-MAR-10
    25-FEB-10
    DATE_CREA
    22-FEB-10
    17-FEB-10
    15-FEB-10
    11-FEB-10
    09-FEB-10
    03-FEB-10
    27-JAN-10
    20-JAN-10
    15-JAN-10
    04-JAN-10
    thanks
    raj

    Hi, Raj,
    When you store dates in a VARCHAR2 column, you're asking for touble, so it seems that everything is working according to plan.
    Even aside from that, your query works perfectly for me.
    In the output you posted, the order is correct within each year, and you're only showing 2 digits of the year. Are you sure the centuries are right in the schedule_backup table? Perhaps everything that was supposed to be '2010' got enetereed as '1910' or '0010'.
    Post some sample data (CREATE TABLE and INSERT statements) that gets the wrong results with your query.
    For example:
    CREATE TABLE     schedule_backup
    (     created_date     VARCHAR2 (10)
    INSERT INTO schedule_backup (created_date) VALUES ('11-11-2009');
    INSERT INTO schedule_backup (created_date) VALUES ('04-11-2009');
    INSERT INTO schedule_backup (created_date) VALUES ('30-10-2009');
    INSERT INTO schedule_backup (created_date) VALUES ('11-09-2009');
    INSERT INTO schedule_backup (created_date) VALUES ('04-03-2010');
    COMMIT;

  • Convert VARCHAR to date - don't know format in advance

    Hi,
    If I want to convert varchar to date, but I don't kniow the format of the varchar in advance. For example, it may be '20-MAY-99', '2009-01-10 10:01:00', but it is not known in advance. How can I convert it to date?
    Many thanks

    You'll have to define a hierarchy of date formats to try. There are some strings that map to many different valid dates depending on the format. The string '01/02/03' might translate to January 2, 2003, January 2, 1903, February 1, 2003, February 1, 1903, February 3, 2001, February 3, 1901, etc.
    Assuming you define a hierarchy of formats, you can write a function that tries each format in turn, i.e.
    CREATE FUNCTION my_to_date( p_string IN VARCHAR2 )
      RETURN DATE
    IS
      l_date_variable DATE;
    BEGIN
      l_date_variable := to_date( p_string, <<format 1>> );
      return l_date_variable;
    EXCEPTION
      WHEN OTHERS THEN
        BEGIN
          l_date_variable := to_date( p_string, <<format 2>> );
          return l_date_variable;
        EXCEPTION
          WHEN OTHERS THEN
    END;You'll need to define the N date formats to try and the order in which to try them.
    Justin

  • Convert varchar to date in OBIEE-sql server database

    Hi we have SQL server database,
    and we need to convert varchar to to_date .
    In OBIEE we use evaluate,cast etc on Oracle......Not sure about sql server..please help

    i am usiing below formula in my reports-answer side:
    Cast((case when "Job CV Fact"."Total Cv Sent" is not null then "DATE DIM".Date end)as Date)
    below error is coming:
    A general error has occurred. [nQSError: 46046] Datetime value 01/01/08 does not match the specified format. (HY000)
    cast("DATE DIM".Date as date) the above error comes :)

  • Converting a text string to a date in Discoverer

    I've got a problem with a discoverer report which is that an item is pointing to a field in the Oracle table which is named as a segment4. This appears to be a generic field which stores any type of data, as it is based on the result of a flex-field in the application, so you could have dates, text, numbers etc. The problem is that the dates are stored in the table back to front i.e. 2004/10/19 00:00:00 and I need to be able to convert the date values so they are in the format DD-MON-YYYY as is this is the format that we use for all our reporting. When I try to apply any kind of date function it doesn't seem to work because it's a text field. I've used SUBSTR to get the first 10 characters and then used it again to split into day, month, year and then concatinated the values into one field in the correct order. This works to a certain degree but still doesn't recognise the value as being a date because because it doesn't sort them in order i.e. 20-06-2007 would appear before 30-06-2005. I'm not sure whether Discoverer could fix the problem or whether it may something the DBA may have to apply to the table. Does anyone have any suggestions to how I can get around this problem?
    Thanks.
    Joanne Hulme, Bolton Council.

    Hi,
    You can use TO_DATE(segment4, 'YYYY/MM/DD HH24:MI:SS') in a calculation to convert the segment to a oracle date type.
    You can then format the date in anyway you need.
    Rod West

  • Convert varchar(255) to varchar(50)

    I want to transfer data from a staging table to another table. The staging table has columns with datatypes I don't always want, and I'm converting them like so:
    INSERT INTO [dbo].[my_table]
    SELECT CONVERT(datetime,TimeIndex,103),
    CONVERT(decimal(6,3),Network_In,3),
    CONVERT(decimal(6,3),Network_Out,3),
    CONVERT(decimal(6,3),Network_Total,3)
    FROM [dbo].[staging_table]
    How would I convert varchar(255) to varchar(50)?
    Thanks in advance
    Adam

    Using substring is returning the column so thanks but now I can't convert datetime for some reason:
    INSERT INTO [dbo].[mytable]
    SELECT SUBSTRING(ClusterName,1,50) AS 'ClusterName',
    CONVERT(datetime,TimeIndex,103),
    ClusterID,
    CONVERT(decimal(3,2),Memory,3),
    CONVERT(decimal(3,2),CPU,3),
    CONVERT(int,CPUTotal),
    CONVERT(int,MemoryTotal)
    FROM [dbo].[stagingtable]
    GO
    Now I get an error I didn't get before:
    Implicit conversion from data type datetime to decimal is not allowed. Use the CONVERT function to run this query.
    But if I run the datetime convert on it's own as a single column select then it works okay. Any ideas where I've gone wrong there?
    To sum up - the above fails but the below works:
    SELECT CONVERT(datetime,TimeIndex,103) AS 'TimeIndex'
    FROM [dbo].[stagingtable]
    Thanks
    Adam

  • Converting varchar to datetime 103

    Hi Guys
    Im making a select query where in a colomn the date is yyyy-mm-dd, i need dd-mm-yyyy (103). A simple convert query does not work because the colomn is not set as a datetime but as a varchar. Its not possible to change the tables at the source.
    The colomn name is DATE_IN
    I think the following post could be helpfull but i dont know how to fix the given statements into the select query
    http://stackoverflow.com/questions/1509977/convert-varchar-into-datetime-in-sql-server

    > in a colomn the date is yyyy-mm-dd, i need dd-mm-yyyy (103)
    As suggested above, this is string date format to string date format conversion, purely string operations.
    If you convert to DATE / DATETIME first (universal internal binary representation), then it may fail if invalid date. 
    You can use the ISDATE or TRY_CONVERT functions to check if the string date is valid.
    DATETIME functions:
    http://www.sqlusa.com/bestpractices/datetimeconversion/
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Convert Varchar to Smalldatetime

    I have a staging table containing data imported from CSV using Log Parser. The imported 'TimeIndex' field datatype is varchar(255), and I plan on converting it to smalldatetime and inserting all of the data in the staging table into another.
    The varchar holds the date in this format: 01/09/2014 03:31
    I convert it using the following command:
    SELECT CONVERT(smalldatetime,TimeIndex,103) AS TimeIndex
    FROM [dbo].[My_Staging_Table]
    But the date format returned is:  2014-09-01 03:31:00
    Is it possible to convert datatype and retain en-gb date format of dd-mm-yyyy hh:mm:ss
    Thanks in advance
    Adam

    As noted above there is only one single binary representation
    of smalldatetime (datetime, date, etc.) across the world.
    However, there are hundreds of string representation of datetime, in fact, you can invent your own string datetime as long as people understand it.
    SSMS presents the datetime in YYYY-MM-DD string format (ANSI FORMAT). That was the decision of the software team which developed it.
    Datetime/string conversion:
    http://www.sqlusa.com/bestpractices/datetimeconversion/
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Database Design
    New Book / Kindle: Beginner Database Design & SQL Programming Using Microsoft SQL Server 2014

  • Convert varchar to decimal - arithmetic overflow

    I'm using SQL Server 2014 and I'm trying to convert data from a staging table over to a production table. I seem to be getting an Arithmetic overflow error converting varchar to numeric on the decimal conversion. I'm sure I've overlooked something with the
    syntax of the CONVERT.
    This is the staging table:
    CREATE TABLE [dbo].[staging_table](
    [TimeIndex] [varchar](100) NULL,
    [Cluster] [varchar](100) NULL,
    [AvgMem] [varchar](100) NULL,
    [AvgCPU] [varchar](100) NULL,
    [TotalMemory] [varchar](100) NULL,
    [TotalCPU] [varchar](100) NULL,
    [Datacenter] [varchar](100) NULL,
    [vCenter] [varchar](100) NULL
    ) ON [PRIMARY]
    This is the prod table I'm moving it to:
    CREATE TABLE [dbo].[Clusters](
    [ClusterID] [int] IDENTITY(1,1) NOT NULL,
    [ClusterName] [varchar](25) NULL,
    [DatacenterName] [varchar](25) NULL,
    [TimeIndex] [datetime] NULL,
    [AvgCPU] [decimal](5, 2) NULL,
    [AvgMem] [decimal](5, 2) NULL,
    [TotalCPU] [decimal](8, 2) NULL,
    [TotalMem] [decimal](8, 2) NULL,
    [vCenterID] [int] NULL,
    CONSTRAINT [PK_Clusters_1] PRIMARY KEY CLUSTERED
    [ClusterID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    and here's an example INSERT INTO statement throwing the error:
    INSERT INTO [dbo].[Clusters] (ClusterName,DatacenterName,TimeIndex,AvgCPU,AvgMem,TotalCPU,TotalMem,vCenterID)
    SELECT SUBSTRING(Cluster,1,25) AS ClusterName,
    SUBSTRING(Datacenter,1,25) AS DatacenterName,
    CONVERT(datetime,TimeIndex,103) AS TimeIndex,
    CONVERT(decimal(5,2),AvgCPU) AS AvgCPU,
    CONVERT(decimal(5,2),AvgMem) AS AvgMem,
    CONVERT(decimal(8,2),TotalCPU) AS TotalCPU,
    CONVERT(decimal(8,2),TotalMemory) AS TotalMem,
    '3' FROM [dbo].[staging_table]
    Sample data is 0.00 to 100.00 in fields AvgCPU and AvgMem, and TotalCPU and TotalMem usually goes up to about 7 digits with no decimal (eg. 7543253) but could be 8 and although I've never seen a decimal I wouldn't rule it out so decided to account for it.
    I assume it's something I've overlooked with the syntax but any ideas would help.
    Thanks
    Adam

    The problem is your precision and scale you are assigning to your decimals.
    decimal(5,2) = this is a total of 5 digits, 3 digits for the whole number and 2 for the fractional.
    decimal(8,2) = this is a total of 8 digits, 6 digits for the whole number and 2 for the fractional. 
    So converting a varchar of 7 or 8 digits for TotalCPU or TotalMem will give you an error because your definition will actually only allow for 6 digits of storage. You could test this by doing decimal(8,0) or decimal(10,2) both which will allow for up to
    8 whole numbers.
    If you are worried about space Sql Server will allocate a set number of bytes for ranges based on the precision (first number in the parenthesis). See this page which explains in detail how much space each range takes up and also further details on
    decimal and numerics.
    -Igor

  • Fail to convert to internal representation: oracle.sql.DATE

    I'm using the oracle 8.1.7 jdbc driver against oracle 8.1.7 running on NT, and I get the exception message below when I attempt to insert an jpub object structure into a prepared statement.
    All date objects have been constructed from a timestamp object, using the oracle.sql.DATE Timestamp constructor. So I'm surprised to get this error given the timestamp object was successfully constructed.
    I've tried session date formats of 'yyyy-mm-dd hh24:mi:ss' and 'mm/dd/yyyy hh24:mi:ss', with no success.
    I can call stringValue on oracle.sql.DATE and it returns a valid date.
    Can someone confirm that they have been able to use the oracle.sql.DATE class to insert a date correctly into the database? Its seems a silly question to ask but you have to start somewhere!
    Exception : Fail to convert to internal representation: oracle.sql.DATE@3c144e8a
    Stack trace : java.sql.SQLException: Fail to convert to internal representation: oracle.sql.DATE@3c144e8a
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:829)
    at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:261)
    at oracle.sql.StructDescriptor.toOracleArray(StructDescriptor.java:385)
    at oracle.sql.StructDescriptor.toArray(StructDescriptor.java:560)
    at oracle.sql.STRUCT.<init>(STRUCT.java:95)
    at oracle.jpub.runtime.MutableStruct.toDatum(MutableStruct.java:65)
    null

    The JPub/JDBC runtime is converting your Java object into Oracle-specific representation (all data is put in oracle.sql.XXXX format). The top level object is an oracle.sql.STRUCT, the attributes of which are represented as an array of oracle.sql.Datum objects - in your case an oracle.sql.NUMBER and an oracle.sql.DATE. However, the error does occur in the StructDescriptor which describes the SQL type and the shape of the object. Is the error dependent on the data values? Might null values not be dealt with, correctly?
    One thing to try to do is create such an oracle.sql.STRUCT object from scratch with the same attribute values and insert/manipulate that using SQL.
    I have not dealt with TAR's. If you send me a self-contained test case, I'll check it against the current development version of JDBC. (At least you'll know if the next JDBC release fixes this issue :-) I might also file a bug.

  • Not able to convert string attribute to number and date please help me out

    not able to convert string attribute to number and date attribute. While using string to date conversion it shows result as failure.As I am reading from a text file. please help me out

    Hi,
    You need to provide an example value that's failing and the date formats in the reference data you're using. It's more than likely you don't have the correct format in your ref data.
    regards,
    Nick

  • Convert DateWID in fact to a date

    All,
    I have a requirement to convert a date_wid into a date in one of my fact tables. Below is the formula that i am trying to use
    CASE WHEN "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_WRKFC_EVT_MONTH_F_Snapshot"."X_CONTRACT_START_DT_WID" = 0 THEN NULL ELSE Evaluate('TO_DATE(%1,%2)' AS DATE , "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_WRKFC_EVT_MONTH_F_Snapshot"."X_CONTRACT_START_DT_WID",'YYYYMMDD') END
    It throws me an exception saying 'Incompatible Types' but i have used the same formula in one of my dimension it has worked. Below is the formula that worked for me in the Dimension.
    CASE WHEN "Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_EMPLOYEE_D"."CONTRACT_ST_DT_WID" = 0 THEN NULL ELSE Evaluate('TO_DATE(%1,%2)' AS DATE , "Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_EMPLOYEE_D"."CONTRACT_ST_DT_WID",'YYYYMMDD') END
    Kindly let me know if i am doing anything wrong, it would be deeply appreciated if anyone could help me.
    Thanks & Regards

    I dont understand why you need to convert wid's of fact to date...You join with time table and select date from the time dimension in your report..
    Any simple BI design tells you to do this..Not sure why date_wids are asked to convert..
    I beleive you might be having multiple date wid's in your fact and wants to get date for each one of them..Like Invoiced_date,Posted date etc..
    Post your requirement I will tell you what you have to..
    Regards,
    Veeresh Rayan

  • Convert a number value to a date

    Post Author: Jeremiah
    CA Forum: Formula
    I'm using Crystal Reports XI. I'm coming across a problem trying to convert a
    number value to a date.  I'm using formula below: if not isnull({qryStoreCheckIn.CHECKINDATE})  or {qryStoreCheckIn.CHECKINDATE}="0"the(stringvar MyDate:= ToText({StoreCheckIn.CHECKINDATE},0,"");cdate(2000 + val(left(MyDate,1)),val(mid(MyDate,2,2)),val(right(MyDate,2))))  
    For this line, I'm receiving an error msg of that "A month number must be between 1 and 12
    Here are some of the field's data examples
    70608
    70501
    0
    61231 Would anybody have any ideas on how to solve this?

    Post Author: SKodidine
    CA Forum: Formula
    You are getting the error "A month number must be between 1 and 12" because you are trying to convert 0 to a date.  The third data item in your field data.
    I suggest you default the date to some date when it is zero or eliminate 0 as a date from your formula such as:
    if not isnull({qryStoreCheckIn.CHECKINDATE})
    then(stringvar MyDate:= ToText({StoreCheckIn.CHECKINDATE},0,"")
    else
    If {qryStoreCheckIn.CHECKINDATE} = 0 then (stringvar MyDate:= "00101");  // If date is zero then it is set to 2000/01/01
    After this, you will not have problems with a zero date.

Maybe you are looking for

  • SAP R/3 and DSXI tool   (Data Services)

    Can we find any documentation in sap help or service.sap on how to integrate SAP R/3 and DSXI. Basically our requirement is when ever a customer master is created with out GEOCODE value (ZIP+4 value), that customer record need to be picked by DSXI an

  • What wireless NIC should I Deploy?!?

    I know this is going to be somewhat biased, but I have the unique opportunity to choose a wireless NIC for our company. It's like this... We have been rolling out many different types of laptops from Dell over the last couple of years and each one ha

  • Blank disc gets spat out at start of Burn step

    iDVD 6 on MBP 2.2 Santa Rosa with UJ-857E drive that supports +/- R DL burning (according to System Profiler). I have some Memorex DVD+R DL blanks. I start the burn step in iDVD, insert the disc, it re-encodes the menus (performance-mode video encodi

  • Problems using my MBA at altitudes above 3500 feet.

    I have been experiencing some problems at altitudes above 3500 feet, although according to the specs it should be working up to 10000 feet and relative humidities of up to 90%. This is quite annoying as it makes it impossible to use in an airplane (u

  • I can not download my apps.  OS 10.7.4

    I started to download the apps for my creative suite membership, and the the manager downloaded photoshop, then said it would not install.  it told me to restart my computer and try again.  When I did that, the manager would no longer run under any c