Conversion of the data type of a table column
HelloI have a column with the varchar2 data type. I want to convert to number data type. But the data in the table are not lost. Can someone suggest me how to convert the column with the varchar2 data type to store the data in the table of number data type.
Thanks in advance
try something like this
create table t(col varchar2(10));
insert into t values('1');
insert into t values('2');
commit;
select * from t;
alter table t add col1 number;
update t set col1 = to_number(col);
commit;
alter table t drop column col;
alter table t rename column col1 to col;
select * from t;
Published by: Karthick_Arp on April 6, 2009 12:32 AM
Tags: Database
Similar Questions
-
determination of the data type of an existing column in a table
Hello
I did some googling on this, and I know I've done it before, but I can't find / remember how to determine the data type of a column in an existing table... I have tried select dump (column_name) table, but it didn't work.
any suggestions?
Thanks in advancedata type field in
select * from user_tab_cols where table_name=
and column_name= Ravi Kumar
-
How to force the data type in create table field?
Hi all
I need to force my table to create as follows
Create table XYZ
(Test varchar2 (10 CHAR)
...
);
When I run my Interface the script is
Create table XYZ
(Test varchar2 (10))
...
);
and the DBMS translated into
Create table XYZ
(Test varchar2 (10 BYTE),
...
);
I have the same problem with I$, C$, and so on.
Best regards
Marco
Hi all
I fix my problem:
In Phisical Tecnology, under ORACLE Tecnology, data TYPE, I modified the definition of VARCHAR2 in VARCHAR2(%L CHAR).
(Before it was VARCHAR2 (%)).
Thank you all.
Marco
-
Dynamically find the Integer and the Data Type of a Decimal column
Table: test (INTE number, DECISION number (7.2)) of the
Try to dynamically determine the type of column.
Use select user_tab_columns data_type. It returns only the NUMBER that does not indicate whether the column is an integer or a decimal data type.
Is there a way to dynamically determine whether a column is around or type decimal?
Thank youcreate table test (INTE, DECI number number (7.2));
Select column_name, data_type, data_precision from dba_tab_columns where table_name = 'TEST '.
COLUMN_NAME DATA_TYPE DATA_PRECISION
------------------------------ ---------------------------------------------------------------------------------------------------------- --------------
NUMBER OF INTE
DECI, NUMBER 7 -
script to change the data type of column
Hi gurus of the oracle.
I have 190 tables in my database.
I have the column type CHAR of all these tables data.
I need to change the data type of CHAR in VARCHAR2 for all these tables...
There the script to change the data type of all tables at once?
Please help me in this regard.
Thanks in advance
Concerning
REDA
Hello
There is nothing built-in to Oracle SQL to do. Maybe your front-end has certain characteristics.
You can write dynamic SQL statements to do. In other words, you can write a query that the output is a SQL script like this:
ALTER TABLE TABLE_A CHANGE (A_TXT1 VARCHAR2 (5))
A_TXT2 VARCHAR2 (10));
ALTER TABLE TABLE_B CHANGE (B_TXT1 VARCHAR2 (5));
with one row for each column of type CHAR. Notice how the first line of output for each table begins with ALTER TABLE... but the later lines at the same table. Similarly, the last line of a table (which will be the same as the first row, if the table has only one column of type CHAR) to end with a semicolon, but other lines are not.
Here's a way to generate and execute such a dynamic script in SQL * more:
-Disable the features that make the output easy to read, but hinder the execution
SET FEEDBACK OFF
SET LINESIZE 500
SET PAGESIZE 0-Create fix_char.sql
COIL c:\some_pathename\fix_char.sqlSELECT THE CHECK BOX
WHEN ROW_NUMBER () OVER (PARTITION BY table_name
ORDER BY column_name
) = 1
THEN 'ALTER TABLE ' | table-name
|| "CHANGE (").
ELSE «»
END
|| column_name
|| "VARCHAR2 (').
|| DATA_LENGTH
|| ')'
|| CASE
WHEN ROW_NUMBER () OVER (PARTITION BY table_name
ORDER BY column_name DESC
) = 1
THEN '); "
Output END AS
Of user_tab_columns
WHERE data_type = "CHAR".
ORDER BY table_name
column_name
;SPOOL OFF
-Turn on the features that make the output easy to read, but hinder the execution
SET FEEDBACK ON
SET LINESIZE 80
SET PAGESIZE 50-Fix_char.sql performance
@c:\some_pathname\fix_charIt's good to change all the CHARIOT of VARCHAR2 columns. The CHAR data type is nothing trouble.
-
Change the data type of number (1) to number (3)
Y at - it a command to change the data type for an existing column? I just need to go long number 1 to 3... or I have to delete column and then use Edit to add the new field?
Thank you
MarkHello
alter table
modify NUMBER(3); Kind regards
-
Hello
I am train to write a procedure where I would spend the table as a parameter name and then the code would determine it is column names, and then he would insert records in each column depending on the data type. could someone help me with this.
Thank you
SM
Hello
Perhaps you need to dummy data just for the table.
Here is my exercise
create or replace procedure generate_rows(p_table_name varchar2, p_count number) is -- function insert_statement(p_table_name varchar2) return clob is l_columns clob; l_expressions clob; l_sql clob default 'insert into p_table_name (l_columns) select l_expressions from dual connect by level <= :p_count'; begin select -- l_columns listagg(lower(column_name), ',') within group (order by column_id), -- l_expressions listagg( case when data_type = 'DATE' then 'sysdate' when data_type like 'TIMESTAMP%' then 'systimestamp' when data_type = 'NUMBER' then replace('dbms_random.value(1,max)', 'max', nvl(data_precision - data_scale, data_length) ) when data_type = 'VARCHAR2' then replace(q'|dbms_random.string('a',data_length)|', 'data_length', data_length ) else 'NULL' end, ',') within group (order by column_id) into l_columns, l_expressions from user_tab_columns where table_name = upper(p_table_name); -- l_sql := replace(replace(replace(l_sql, 'p_table_name', p_table_name), 'l_columns', l_columns), 'l_expressions', l_expressions); -- debug dbms_output.put_line(l_sql); -- return l_sql; end; begin execute immediate insert_statement(p_table_name) using p_count; end; / -- test create table mytable( id number(4,0), txt varchar2(10), tstz timestamp with time zone, dt date, xml clob ) ; set serveroutput on exec generate_rows('mytable', 10); select id, txt from mytable ; drop procedure generate_rows ; drop table mytable purge ; Procedure GENERATE_ROWS compiled Table MYTABLE created. PL/SQL procedure successfully completed. insert into mytable (id,txt,tstz,dt,xml) select dbms_random.value(1,4),dbms_random.string('a',10),systimestamp,sysdate,NULL from dual connect by level <= :p_count ID TXT ---------- ---------- 3 WnSbyiZRkC 2 UddzkhktLf 1 zwfWigHxUp 2 VlUMPHHotN 3 adGCKDeokj 3 CKAHGfuHAY 2 pqsHrVeHwF 3 FypZMVshxs 3 WtbsJPHMDC 3 TlxYoKbuWp 10 rows selected Procedure GENERATE_ROWS dropped. Table MYTABLE dropped.
and here is the vision of Tom Kyte for the same https://asktom.oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:2151576678914
Edit: to improve my code, it must use p_count as bind as Tom.
-
How to recover the data type of a column in a table?
Hello
I want to retrieve the data type of a column in a table. At the moment I'm querying attribute 'OCI_ATTR_DATA_TYPE', but it is SQLT_CHR varchar2 and nvarchar2 data type columns. I need to make a distinction between these columns of two separate data types. Y at - it all API through which I could get the exact data type of a column, i.e. "nvarchar2?
Thanks in advance.
HashimHello
It is not a very direct way to do it. What you can do is to call OCIDescribeAny on the table that you want to get information. You can then get the OCI_ATTR_CHARSET_FORM attribute for the column. If the value of the attribute that you get is SQLCS_IMPLICIT, that would mean its a varchar/char/varchar2 column regular. If you get SQLCS_NCHAR, this means that the column is NCHAR. You can get the example of it here:
http://download.Oracle.com/docs/CD/B14117_01/AppDev.101/b10779/oci06des.htm#446491
Just look for the section "Recovering for a Table column Datatypes".
Thank you
Sumit -
change the data type of column in a view
Hi gurus,
Please suggest.
I have been created as below in the region of production.CREATE OR REPLACE TYPE PROD. (OBJECT) ACE FEATURE_CUSTOM_LIST_OBJ
TERMINAL_FEATURE_ID NUMBER (8).
DATA_VALUE NUMBER (8)
);
/
And the view is created below the base have the PROD. FEATURE_CUSTOM_LIST_OBJCREATE OR REPLACE FORCE VIEW PROD. TERMINAL_FEATURE_TYPE
(
TERMINAL_FEATURE_ID,
DATA_VALUE
)
AS
SELECT
TERMINAL_FEATURE_ID,
DATA_VALUE
TABLE)
CAST)
PROD. TERM_RELATED_REF_DATA. GET_TERMINAL_FEATURE_TYPE AS PROD. FEATURE_CUSTOM_LIST_TAB));Examples of data must be inserted into the display
TERMINAL_FEATURE_ID DATA_VALUE 12 0 12 1 12 3 11 THERE 11 N If iam thinking is possible that we can change the data type of number of varchar2 data type column in a view?
Or should I follow create or replace type as whenevr the nonnumeric data tries to bring into view
sound by giving the number plsql for digital character conversion error since it is a number of data type here.I have been created as below in the region of production.
CREATE OR REPLACE TYPE PROD. (OBJECT) ACE FEATURE_CUSTOM_LIST_OBJ
OK - but it is a SCALAR - not a collection object
And the view is created below the base have the PROD. FEATURE_CUSTOM_LIST_OBJ
CREATE OR REPLACE FORCE VIEW PROD. TERMINAL_FEATURE_TYPE
No - it isn't. Your type of object is a SCALAR - not a collection. You need create a view on a table or a collection that is treated as a table.
DDL perspective you posted doesn't even mention your FEATURE_CUSTOM_LIST_OBJ.
If iam thinking is possible that we can change the data type of number of varchar2 data type column in a view?
Have you tried using TO_CHAR to format the number as a string?
-
Is it possible to get the data type of element of a queue to itself?
Hello world
I have a Q which has a cluster as data type of element.
now when I want to enqueue
I will use bundle-default-
and for this I have to have my current data type
(long cable as (perhaps after where I got the Q).
My question is,
If there is a method/property-node/something that allows me to
the queue of wire inside Refnum and receive the data element type.
If I can get into the top of bundle-default?
(I really want to have this cable in all directions)
is this the reason why I'm asking here
aid for the Refnum of outgoing queue to get a queue, the method
indicates the data type of element and so I hope that there could be a solution.
thx for your time
and soon
j
Get queue status must be output with the type of data (more precisely an array of the data type and an array of clusters if the data is itself a table). If you do not set the items back to entry to T, this should not even cost anything.
That said, I agree with others that it is better to what actually a typedef.
-
Gets the data type variant for the selection of cases
I don't ' know much about alternative, so I'll ask as many questions as possible on this subject. If I have a table of varying, and each of these variations has been converted to a different data type. This table will be the clue to a for loop and each item will be handled in a case inside the loop structure for.
The issue is that I would like to take the variant data type, convert enum and use it to select the box on the structure of the case. How do I do that? Or what is the best way to do it?
Yik
VI 'Get TDEnum of data' of the data tools package.
There is also the "GetTypeInfo" VI which is located in the
\vi.lib\Utility\VariantDataType folder. -
Change the Data Type to node e/s on PXI-7841R FPGA
I would like to change the data type for the node FPGA of e/s on my card FPGA 7841R (simulation). So far, I have raw data (I16). I want to test something with the calibrated data (FXP).
The cRIO, you usually go to the properties of module to change the calibration mode...
I searched 7841R documentation and could not do any weather information this calibration mode was also available on this map.
Any tips?
Vincent
The new maps in the series R offer node fixed point IO (for example, the SMU-7858R), but as mentioned all the old PXI based cards R-series offer only modes of measurement I16.
Page 22 manual R series is about how to do this conversion: http://www.ni.com/pdf/manuals/370489g.pdf#page=22
Specifically, it notes that you can calculate the voltage by (output Code I16) * 10.0V / (32 768).
Even if this can use FPGA resources, it records the host do the same conversions. RT old target with slow processors doing the conversion of I16 or FXP to SGL on the FPGA has saved a lot of time CPU
-
How to record a data type float [64] table in a file?
I have a table of type float64 [] data I want to save to a file. I tried to use the ArrayToFile function, but he dislikes the type of data [] float64 . I'm with LabWindows/CVI version 7.1.
Why not use the data type double?
-
Display the data type of a column in the status bar
Hi all
n pl/sql developer, when I select a column in a table.
If I clicked with the mouse on the column in the query results box, it shows me the type of data and the size of the column in the status bar
Developer SQL does not by default,
is there an option I can change to do the same task?
Thank you
No, you will need to open a popup DESC of the query to see the data types of the data returned.
-
Hi all
I am facing a problem while creating a BI reports to the SQL Server 2008 Database.
Access to columns of data type "uniqueidentifier" I get error [nQSError: 43119]:-the data type: 25 is not supported.
- OBIEE 11.1.1.6.11 on Linux x86_64 servers is hosted by the Services of Oracle Cloud.
- Using last "ODBC driver for SQL server 11" for connection (also tried driver "DataDirect SQL Server 6.0 native Wire Protocol").
- No "Uniqueidentifier" data type columns display correctly in reports.
- I tried to change the columns of data type "Uniqueidentifier" to char (36), VARCHAR (36), VARCHAR (40), types of binary data (16) in the physical layer on various suggestions but error still there.
Same columns questioned the SQL Developer (using third-party jTDS JDBC driver "jtds - 1.2.7 - dist") I am able to see these "uniqueidentifier" data columns. record sample:-"CB350576-FCD8-DE11-B111-002219598619".
Please advice if this is a bug or I'm missing some property of SQL server database settings.
Thanks in advance.
Yes Srini,
This type of column becomes UNKNOWN when they are imported into SPR but its strange after changing to VARCHAR (36), we can use it for joining tables without any problem.
Only issue I'm facing now is the limitation to use in queries like calculate the total number of incidents (in my case incidentid is the primary key).
But I've found a workaround. I am formulating a measure in MDB layer to get the number of total incidents as {CASE WHEN
is NULL then 0 otherwise 1 END}. the aggregation is defined on the sum and I get incident count works correctly. Thanks for your help.
Maybe you are looking for
-
It is possible to buy an iphone using paypal credit?
I just want to know if on the final payment, I can use my paypal account/credit to buy a phone. I'm moving from android. Thank you very much.
-
HP Pavilion DV6 6120us does not completely close
My HP Pavilion DV6 6120us crashes during stop. Windows looks like it goes through the process of closing and the screen goes black but the border mouse pad remains on and wifi (f12) button goes orange. The only way to close it completely is to hold t
-
Network card wireless upgrade dm4t-1100?
HI -. I read a few threads asking if a specific card will work in this model, but I'm going to be less accurate. I have a computer dm4t-1100 HP laptop running Windows 7, it is the only Windows machine I have left and one of the reasons why I always u
-
How can I block an entire domain?
I use Hotmail and I get flooded by spam among the hundred of different addresses. All are of the domain *@*.*.*.info (asterisk is a wildcard - many differrent here alpha channels). All ends .info, but an infinite combination of characters before th
-
Volume Activation tool reactivation
We have a volume license and activate our facilities using VAMT 3.0 and our license MAK key. It is sometimes necessary to reinstall a PC for some reason, but I have so far failed to reactivate these computers by using the function "CID apply. Accordi