convert the varchar2 data type to the data number type

How to convert the varchar2 data type to the data type number.


It looks like my data

create table one)
col1 varchar2 (50)
col2 varchar2 (500);

Insert in a (col1, col2) values ('1234 ', ' 2345');

Select Column1 of number (19)) cast (to_number (col1);

IAM getting error invalid number


I need to create a table with the same columns with data like number types (19)

can someone help me

Thank you

You have changed your original post, so now I see that you get the invalid number.

This is why you should always avoid the varchar columns to store numbers or dates...

Since your table source contains a nonnumeric value, you can write a pl/sql to convert data and see what records are false:

SQL> insert into a (col1,col2) values ('xxxx','2345');

1 row created.

SQL> select * from a;

COL1     COL2
-------- --------
1234     2345
xxxx     2345

2 rows selected.

SQL> create table b (col1 number(19), col2 number(19));

Table created.

SQL> set serverout on

SQL> declare
  2  cursor c is
  3  select * from a;
  4  begin
  5    for r in c loop
  6     begin
  7       insert into b values (to_number(r.col1), to_number(r.col2));
  8     exception
  9       when invalid_number then
 10        dbms_output.put_line('Row rejected: col1='||r.col1||' col2='||r.col2);
 11     end;
 12    end loop;
 13  end;
 14  /
Row rejected: col1=xxxx col2=2345

PL/SQL procedure successfully completed.

SQL> select * from b;

      COL1       COL2
---------- ----------
      1234       2345

1 row selected.

Max

Published by: Massimo Ruocchio, June 14, 2011 20:00
Added the first query in the example

Tags: Database

Similar Questions

  • Convert a varchar2 data type Date

    Hi guys,.

    Can someone help me convert a Varchar2 data type in the data type Date?

    I have a query and my column is a varchar2 data type.
    I want to just that convert the Varchar2 in a DATE, because I met
    problem in my query. I want to do the day1 day10 transaction.

    Ex:
    Day 1 = January 1, 2010
    Day10 = January 10, 2010

    table.record_date varchar2 (12)

    SELECT column1, Column2
    table
    where record_date between? and?

    How can I set the record_date between day1 and day10 since record_date is of type varchar?

    Thank you.

    Laetitia

    Lala,

    If the data in the database are in the format MM-DD-RR , then you must use the same format when you convert back to this day.

    So change the query to

    SELECT COLUMN1, COLUMN2 FROM TABLE WHERE TO_DATE(RECORD_DATE, 'MM-DD-RR') BETWEEN TO_DATE('01-JAN-2010') AND TO_DATE('10-JAN-2010')
    

    Kind regards

    Manu.

  • Bad high and low value with the varchar2 data type

    Hello

    It is an application on e - biz on database 9205, with inventory module.

    In one of the mtl_txn_request_headers of the table, the data for the number of application type is varchar2 (30). When I checked the low_value & high_value in dab_tab_columns, I see that the low_value is 100001 (6 digits) and high_value is 99999 (5 digits).

    I used the utl_raw.cast_to_varchar2 (low_value) to convert the value.

    In our case, we save a large part of the value in incremental number and some of our query will be in the predicate of the range (between).

    How should I handle this kind of situation and which option do I?

    Appreciate any help. Thank you.

    Accepted this looks like a classic bad-data type problem, but as this picture seems be part of Oracle E-Business Suite the OP should probably talk first Oracle.

  • Need to convert the Varchar2 column number for the extraction of data based on the range of values.

    Hello

    I have a ZIP column which is the Varchar2 data type, it has values such as 2345, 09485, 10900, 07110, 06534.

    I have to go look up records from the range of values for the ZIP column as between 00000 and 07500.

    Could you give a logic.

    Thank you.

    Hello

    I think you can use the following code:

    SELECT T.*

    OF t

    WHERE the to_number (ZIP) between TO_NUMBER('0000') and TO_NUMBER('07500')

    ;

    CGomes

  • Change the number in Varchar2 Data Type

    Hello

    We have a running production applications. There is a column called home_number which is a type of data number, now called the new requirement to change of varchar2.

    I tried to edit the table get the below error.


    -Edit the "TECH_SOURCING_EMPLOYEE_DETAILS" table change
    -("HOME_PH_NUMBER" VARCHAR2 (1000))
    -- /

    -ORA-01439: column to change must be empty to change data type

    Please suggest me how to change the data type of column without affecting the data.

    Thank you
    Sudhir

    Try below, I tested in my database.

    create table tmp
    (ID NUMBER,
     HOME_NUMBER NUMBER(8));
    
    insert into tmp values(1, 9122222);
    
    alter table tmp add MY_HOME_NUMBER VARCHAR2(1000);
    
    update tmp
      set my_home_number = home_number;
    
    update tmp
       set home_number = NULL; 
    
    alter table tmp drop column home_number;   
    
    alter table tmp rename column my_home_number to home_number; 
    
  • I want to convert the double data type to string type

    I want to convert the double data type to string, have idea about that

    Hello

    Use f

    FN: String (ARG) returns the string value of the argument. The argument can be a number, boolean, or node-set element

    Example: string (314)
    Result: "314".

    http://w3schools.com/XPath/xpath_functions.asp#string

    See you soon,.
    Vlad

  • How can I justify the difference between varchar and varchar2 data type

    Hi all

    How can I justify the difference between the data type varchar and varchar2 on any table for space management.
    Is there any query to justify this.


    Concerning
    Girish

    Published by: boujemaa on February 2, 2011 21:23

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14220/datatype.htm#sthref3780


    The VARCHAR data type

    The VARCHAR data type is synonymous with the VARCHAR2 data type. To avoid any changes in behavior, always use the VARCHAR2 data type to store strings of variable length.

  • convert the money data type in a decimal format 2.

    What is the best way to convert the money data type in a decimal 2 format in ms sql 2005 for use in my applications.

    This?

    CAST (tr.depositReceivedAmount AS decimal (10, 2))

    I respectfully disagree with the idea that you must change the query column a type of 'money' data to something else.

    In most database servers, "«argent» Silver" is a data type that is designed to provide a very homogeneous behaviour with regard to the arithmetic accuracy.  In Microsoft Access, the representation is a the whole scale.  MS SQL Server, it is obviously similar.  Ditto Oracle and others.

    You like that the money data type in the database for this clarification, because "hell has no fury like an accountant looking for a bad penny."   The column of database storage formats are designed to satisfy the accountants, and it's a good thing.

    Meanwhile, you also want to take care as to exactly how you are dealing with values.  There are several points where the district could take place.  You don't have available the strongest possible manipulation of the floating of the data types in ColdFusion.  You also are somewhat at the mercy of any interface software can be between you and that SQL server, you can use.  "It is correct to all about values , but not several times."

    I suggest to round the value just before the display and user input must be two decimals.

    Then, you may need to do some things at the end of SQL server.  For example, when you update a value in the table, you may need to use logical server to explicitly truncate the value to two decimal places, as well as an update of "$ 34,56" explicitly updates the column "$34,5600.."  (This kind of thing should happen in the context of SQL Server).  You know that the user entry has exactly two significant digits, but maybe (maybe not...)! SQL server may not know this.  You want to ensure that the stored server internally represents exactly two digits, when the origin of a user input value.

    Do not err on the side of "convenience" or "which seems." good on the screen  (If you do, get ready get telephone communications of the accountants, always at inappropriate times of the night.)

  • How to make the sum of hours which is the varchar2 data type in oracle

    Hi my table is like this
    emp_ngtshthrs (empno number (10), nightshifthrs varchar2 (20));

    now I want sum employee nightshifthrs how do the sum hours, it's my hours 01:00, 05:00, 08:00, 10:00, 07:00 and 09:00
    I want the sum type varchar2 hours how to do? and I want to display the sum is greater than 24:00

    Well, first of all you have posted your question in the wrong forum. You should have posted your question in the forum SQL and PL/SQL .

    The second problem I see is that you are being too generic when you have your employees enter their night shift hours worked. If you are able, I recommend that you change your table to record hours separately from minutes and make columns of type NUMBER instead of the VARCHAR2() type. Then, you can simply use arithmatic to total the hours and minutes worked.

    If you are locked in your table and cannot change it, you can convert characters to numbers and then perform your basic arithmatic on values. For example:

      1  with tab1 as (
      2  select 10 as empno, '01:00' as nightshifthrs from dual union all
      3  select 10 as empno, '05:00' as nightshifthrs from dual union all
      4  select 10 as empno, '08:00' as nightshifthrs from dual union all
      5  select 10 as empno, '10:00' as nightshifthrs from dual union all
      6  select 10 as empno, '07:00' as nightshifthrs from dual union all
      7  select 10 as empno, '09:00' as nightshifthrs from dual)
      8  select sum(to_number(replace(nightshifthrs,':','.'))) AS hours_worked
      9* from tab1
    SQL> /
    
    HOURS_WORKED
    ------------
              40
    SQL> 
    

    Of course, if your users can and do enter the minutes, then which complicates the example I provided. You will need to convert the decimal minute, sum the amount, then convert the decimal time and add this to your hours. For example:

      1  with tab1 as (
      2  select 10 as empno, '01:15' as nightshifthrs from dual union all
      3  select 10 as empno, '05:00' as nightshifthrs from dual union all
      4  select 10 as empno, '08:30' as nightshifthrs from dual union all
      5  select 10 as empno, '10:00' as nightshifthrs from dual union all
      6  select 10 as empno, '07:45' as nightshifthrs from dual union all
      7  select 10 as empno, '09:00' as nightshifthrs from dual)
      8  select sum(to_number(substr(nightshifthrs,1,2))) + SUM(to_number(SUBSTR(nightshifthrs,4,5)))/60
      9* from tab1
    SQL> /
    
    HOURS_WORKED
    ------------
            41.5
    SQL> 
    

    I hope this helps.

    Craig...

  • VARCHAR2 data type do not convert date

    Dear gurus

    Version of database - 10.2.0

    I have a problem of varchar2 data type do not convert date...

    I have a table like


    SQL > table desc.
    Name Null? Type
    ----------------------------------------- -------- ----------------------------
    NAME VARCHAR2 (10)
    RECORD_DATE VARCHAR2 (20)

    and the record consists are...

    SQL > select * from table;

    NAME RECORD_DATE
    ---------- --------------------
    Nimai 09/09/2012 09:10
    Nimai 09/09/2012 10:10
    Scott 09/09/2012 11:10
    Scott 09/10/2012 10:00
    Nimai 09/10/2012 11:00


    If the "Record_date" column that's 09/09/2012(dd/mm/yyyy)

    09/09/2012 and I want to query the records which includes the date ' select * from table where record_date = 09/09/2012 "...
    This work of query...

    Select * from table where
    TO_CHAR (to_date (substr(record_date,1,10), ' dd/mm/yyyy'), ' dd/mm/yyyy')
    =
    TO_CHAR (to_date (substr('09/09/2012',1,10), ' dd/mm/yyyy'), ' dd/mm/yyyy')
    ;

    But if the "record_date" column that's 9/9/2012(d/m/yyyy) I did not what to do which function to use? /

    Help, please!

    Thanks in advance
    Nimai kinzonzi

    Published by: 955748 on September 22, 2012 03:47

    Published by: 955748 on September 22, 2012 04:10

    Hello;

    Keep things simple: (get rid of TO_CHAR)

    SELECT TO_DATE ((substr (record_date, 1, 10), ' DD/MM/YYYY') of?)

    TO_DATE (substr (record_date, 1, 12), "HH24 MON-DD-YY")

    Best regards

    mseberg

  • convert the data that are not text

    create table x as
    (line_1 varchar2(10))
    INSERT INTO x  VALUES ('001165899', '0506', 'ZIP1003', 'ABC', 'xyz')
    It is the source table, it transforms (to meet the requirements of the company) to another table where column line_1 is converted to a data type of number, and all the data in the column of line_1 which is the text are converted to-1.

    user628919 wrote:
    How the hyphen may be replaced for the data where it grows in different places within the data.

    The solution needs to keep other rules - convert to_number, text-1 column, ignore nulls (see below)-, more remove the hyphen of digital data.

    to_number(regexp_replace(line_1, '.*\D.*', '-1'))
    

    As Vivek L, complete with a convenient link for documentation, said "replace should work.

    to_number(regexp_replace(replace(line_1, '-'), '.*\D.*', '-1'))
    

    John

  • Import excel should allow space in a column during the use of media: the value class coldfusion.sql.QueryColumn can not be converted to a date

    I followed the pretty good learncfinaweek and can see no error in my code.   Here is the error, that should solve and the page with the code.  Any help is appreciated.  This should be quite simply like this: < cfset blogPost.dateposted = importData ["posted Date"] / >, which allows the column in excel with a space between words.

    Good: dateposted - the coldfusion.sql.QueryColumn class value cannot be converted to a date.

    Root cause: org.hibernate.HibernateException: property: dateposted - the coldfusion.sql.QueryColumn class value cannot be converted to a date



    "< cfimport taglib ="... /... "/ customTags" prefix = "ct" / >

    < ct:securityCheck redirectPage = "#cgi.script_name #" / >

    < name = "cfparam form.submitted" default = "0" / > "

    "< name =" cfparam form.importFile"default =" "/ >

    < cfif form.submitted >

    <! - Download file - >

    < cffile action = "upload" destination = "#getTempDirectory ()" # "filefield ="importFile"nameconflict ="makeunique"/ >"

    <!--> reading spreadsheet

    "< cfspreadsheet action = 'read' src="#cffile.serverDirectory#/#cffile.serverfile# ' query = headerrow "importData" = "1" excludeheaderrow = "true" / >

    <!--> Import data

    < cfloop query = "importData" >

    < cfset blogPost = entityNew ('blogPost') / >

    < cfset blogPost.title = importData.title / >

    < cfset blogPost.summary = importData.summary / >

    < cfset blogPost.body = importData.body / >

    < cfset blogPost.dateposted = importData ["posted Date"] / >

    < cfset EntitySave (blogPost) / >

    < / cfloop >

    < cfset ormFlush() / >

    < cflocation url = "listblogpost.cfm? message = #urlencodedformat ('Blog Posts Imported Successfully')" # "addtoken ="false"/ >"

    < / cfif >

    < cfoutput >

    < section ct:layout = "Summary" >

    < section = 'blog' active 'post' = ct:navigation / >

    < div class = "span10" >

    The Blog posts to download < h2 > < / h2 >

    < form class = "form-horizontal" action = "" #cgi.script_name # "method ="post"enctype =" multipart/form-data">"

    < div class = "control group" >

    < class label = 'label control' for 'importFile' = > import file < / label >

    < div class = "orders" >

    < input type = "file" id = "importFile" name = "importFile" value = "#form.importFile #" >

    < / div >

    < / div >

    < div class = "control group" >

    < div class = "orders" >

    < button type = 'submit' class = "btn, btn-primary" > download < / button >

    < / div >

    < / div >

    < input type = "hidden" name = "subject" value = "1" / >

    < / make >

    < / div >

    < / ct:layout >

    < / cfoutput >


    DavidSCarlisle55 wrote:

    I changed the date to 'YYYY-MM-DD' in the xls file by changing to the UK format within excel.

    It is still giving an error.  ?

    Odd. Then there can be only one solution to the riddle: what you read is a column name, and not the date value stored in the column.

    See what happens when you replace this line by

    or, perhaps better,.

  • PHP convert the variable date of table format

    I can not explain this without showing all the code...

    I have a script which basically scrape information off the myspace site and updates the information in a table.  I then had the script put this in tabular form.  The problem that I'm hoping to get help, I would like to change the date format, and I don't know how I can do this since it is Setup how to loop through the table.  If anyone can show me a better way to do it without a loop or a way to convert the date, I'd be very happy.

    18/06/2009 22:00-Thursday, June 18, 2009 22:00

    <? PHP

    include('simplehtmldom/simple_html_dom.php');

    $myspace_url = "url I'm scraping."

    ini_set ('user_agent', ' scratch/2.5');

    $html = file_get_html ($myspace_url);

    $i = 0;

    foreach ($html-> find ('input [type = "hidden"]') as $k = > $v) {}

    If ($v-> name == "calEvtLocation") {}

    $shows [$i] ['location'] is $v-> value;.

    }

    If ($v-> name == "calEvtCity") {}

    $shows [$i] ['city'] is $v-> value;.

    }

    If ($v-> name == "calEvtState") {}

    $shows [$i] ['State'] is $v-> value;.

    }

    If ($v-> name == "calEvtDateTime") {}

    $shows [$i] ['date'] is $v-> value;.

    $i++;

    }

    }

    ? >

    < table border = "0" align = "center" cellpadding = "8" cellspacing = "0" >

    < b >

    < e style = "text-align: left;" do-size: 12px; "> < /th > venue

    < e style = "text-align: left;" do-size: 12px; ' > city < /th >

    < e style = "text-align: left;" do-size: 12px; "> Status < /th >

    < e style = "text-align: left;" do-size: 12px; "> date/time < /th >

    < /tr >

    <? PHP

    foreach ($shows as $show)

    {

    echo "< tr >";

    foreach ($show as $item)

    {

    echo "< td > < table > $item";

    }

    echo "< /tr >";

    }

    ? >

    < /table >

    Move the $i ++ should not have any effect on the way in which items are displayed thereafter.

    How I would deal with the table is like this:

    ";
    }
    ?>
    
  • How to convert varchar to date datatype all insert or update in the table

    Hai All

    I need to convert to varchar type to date.

    I have two Tables T1, T2

    Structure of T1

    Code varchar

    Time varchar

    Date varchar

    Structure of T2

    Var EmpName

    Empcode var

    Date of the respondent

    Outtime date

    Intrinsically date

    Date of Introut

    Att_date

    Now I need to spend the time form T1 to T2 respondent, outtime, intrinsically, introut under certain conditions

    So now I need to convert Varchar to Date so that the insert or update

    I tried something

    Insert into T1 (code, respondent, att_date) values

    (To_date(Date|| dele de code temps, «hh24mi de mon-dd-yyyy»), att_date);

    OR update while

    Setting a day set Outtime T2 = To_date(Date||) Time, 'hh24mi mon-dd-yyyy') where...


    I got an error Ora-01861


    Concerning

    Srikkanth.M

    You did not show an example of your date or time values, control may be necessary to add a space between them, like

    To_date(Date || ' ' || time,'dd-mon-yyyy hh24mi')
    
  • How to convert the date in milliseconds?

    Hi all

    Can I know how to convert the date in milliseconds?

    My current datetime like this Formate

    QDateTime::currentDateTime (m:System.NET.SocketAddress.ToString ("MMMM dd, yyyy HH"))

    Seconds since January 1, 1970

    http://Qt-project.org/doc/Qt-4.8/QDateTime.html#toTime_t

    Sinds milliseconds January 1, 1970

    http://Qt-project.org/doc/Qt-4.8/QDateTime.html#toMSecsSinceEpoch

  • Maybe you are looking for

    • Does Verizon iPhone 6s more support both GSM and CDMA network?

      Agents I knew, I had confused information about what my 6s of Verizon Plus iPhone supports. Only one person in the store said that it supports as well the networks outside the United States, but no other network except Verizon in the USA. Another per

    • How to stop the pop-up tip help Mozilla

      If the update added a few features which I love but a serious makes me angry because I don't know how to stop it. Mozilla keeps offering suggestions on how use the web with annoying help tip popups blocking my screen. He says things like "press Ctrl

    • 15 - af148ca: HP 15-af148ca no driver Windows 7 WiFi/network

      I recently installed Windows 7 on this laptop from 10 windows in order to ensure compatibility with some programs that don't work well with Windows 10.I couldn't find any Windows 7 drivers what so ever on the HP site and it seems that there is only W

    • How can I remove ransomware when my mac pro is frozen?

      Hey,. I need help because my daughter has ransomware on his new Mac Pro. What is particularly problematic is that while I can turn the computer on and off there is no control of the cursor to use the keys (I'm not using the shortcut keys). Thank you

    • DeskJet D1460: where download driver HP Deskjet basic?

      I'm looking to download only print driver (not full package) for the Deskjet D1460 printer. After crossing the section software & drivers on your Web site, only the full features software is shown when this model is selected, with a note saying that

    Venue City State Date/Time
    {$show['Location']}{$show['City']} {$show['State']}{$show['Date']}