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 you

create 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

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 advance

    data type field in

    select * from user_tab_cols where table_name= and column_name=
    

    Ravi Kumar

  • Conversion of the data type of a table column

    Hello

    I 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

  • 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
    Mark

    Hello

    alter table  modify  NUMBER(3);
    

    Kind regards

  • Toshiba 40TL938G - find the date and time settings

    I have a 40TL938G and I can't find the date and time settings.
    Can someone help me?

    SSY
    I read the manual and it does ' t say anything about these settings.

    THX

    In the settings of digital television, you should see the option called local time settings

    To display the time on the TV you press the sign of the small clock on the remote control while watching a normal TV show (analog only)

  • table col name get the details of the table column and inserting of values depending on the data type of the column

    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 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.

  • The number of bytes is the data type of "pixel"?

    I'm relatively new to use Pixel Bender to process audio data, so I'm sorry for my lack of understanding of what follows.

    I had a question about the data types 'pixel' and 'image' Pixel Bender.

    I'm trying to understand code Kevin Goldsmith has written for his mixer 2 channels of audio and there seems to be a gap between the amount of data sent to the shader of PB, and the amount received when the buffer is sent to her for treatment.

    Here is the link to the code:

    http://blogs.Adobe.com/Kevin.Goldsmith/2009/08/pixel_bender_au.html

    At the top of the code, it says a "BUFFER" of 2048 constant:

    private public static var Buffer_size : uint = 0 x 800;

    Then, in the processSound() function, he implemented an byteArray with a size of 16 384 bytes:

    shaderBuffer. length = BUFFER_SIZE * 2 * 4;     <---(échantillons stéréo 2048 * 2 * 4 octets/échantillon)

    However, I am confused about the part where it defines a hypothetical image and sends the data to the shader:

    effectShader. data ["source"] . width = BUFFER_SIZE / 1024;     <---(2048 / 1024 = 2)

    effectShader. data ["source"] . height = 512 ;

    From the code above, one can easily see that the size of the image is only 1024 "pixel" (2 * 512), and on the receiving end there is a "image.4" of variable entry expected to receive.  So far, I was under the assumption that a data type "image4" consists of a variable amount of pixels (determined by the size of the image that is food inside), each composed of 4 layers of color of 1 byte.  In this logic, each pixel in a data type "image4" should consist of 4 bytes.  Now, let's do the math: 4 bytes * 1024 pixels = 4096.

    4096 is not equal to 16 384!

    How can feed you a 16 384 'byteArray' bytes in a variable "image4" of 4096 bytes?

    I'm sorry to seem presumptuous to the explanation above, but I can not understand what is happening here!

    The number of bytes is a 'pixel' in PB?  He holds float or integer values or both?

    I've scoured the web to find these answers, but nothing helps!  Maybe I'm off the mark with my current understanding of the pixels and images in PB, but I need to understand this before I can move with the application that I do.

    I am very grateful of any advice or information that someone can give.

    Thank you

    Matt

    This is the Pixel Bender Language Reference:

    "pixel1: represents the value of a single channel of an image." The name distinguishes this
    single element pixel of a pixel which contains several channels. The pixel values are
    considered as 32-bit floating-point numbers. »

    32 bits = 4 bytes

    If a channel is four bytes rather than that you have accessed. If this should explain the difference.

  • To change the data type of control/led

    Is it possible to change the underlying data type of the indicator or a control?  I a VI that I want to use that accepts any type of data (essentially data varriant) and display it accordingly.  I have different controls selected to display data of different types in the sense of data vs decimal boolean data vs integer, but certain types of data will be of type uint32 vs int16 vs uint64 etc..  Is it possible to programmatically change the data type, so I need to have all the combinations of indicators?

    The short answer is no. The long answer is that LabVIEW has not 'generic' controls that allow you to display any type of data (apart from the variant of course). There are several ways to address this problem, but all require you as the programmer to manage explicitly each type of data you could possibly meet. Here are some possibilities (in no particular order), please let me know if you would like to help a particular implementation of these.

    1. Force incoming data to variant, use the info option to determine the data type of the original data in a case structure (open G can do this VERY easy), have an indicator on the front panel for each type of data you want and hide those unused
    2. Use a sub-group of experts on the front panel and sub - vi call of to view specific types (that lends itself very well to encapsulate your data in a class and you leave OOP allows to expand into different types of data)
    3. Use a tab with the variant (similar to option 1) control put each kind of data in its own tab, enable only the current
    4. Do a Control-X to accept a Variant option 1 under the hood
    5. Just as a string of format and use a string indicator

    That's all I can think of right now, once again, let me know if you need more information/help on the options.

  • 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.sql

    SELECT 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_char

    It's good to change all the CHARIOT of VARCHAR2 columns.  The CHAR data type is nothing trouble.

  • change the data type of the columns

    Oracle 10g version.
    I have a table with 150 columns.
    I would like to change the data type of the columns in my table to varchar.
    Do we have a query for this task?

    Thank you.

    Not knowing yet what you meet John:

    If your table is empty, you can use the datadictionary to generate a statement and run the query to a file that makes the DDL using dynamic SQL or spool and run that...

    Example:

    MHO%xe> create table bla (col1 number, col2 number);
    
    Tabel is aangemaakt.
    
    MHO%xe> select column_name, data_type from user_tab_columns where table_name = 'BLA';
    
    COLUMN_NAME                    DATA_TYPE
    ------------------------------ ---------------------------------------------------------------------
    COL1                           NUMBER
    COL2                           NUMBER
    
    MHO%xe> declare
      2    l_sql varchar2(4000);
      3    l_sep varchar2(1);
      4  begin
      5    l_sql := 'alter table BLA modify ('||chr(10);
      6    for rec in ( select column_name from user_tab_columns where table_name = 'BLA')
      7    loop
      8      l_sql := l_sql||l_sep||' '||rec.column_name||' varchar2(50)'||chr(10);
      9      l_sep := ',';
     10    end loop;
     11    --
     12    dbms_output.put_line(l_sql||' )');
     13    --
     14    execute immediate l_sql||' )';
     15    --
     16  end;
     17  /
    alter table BLA modify (
     COL1 varchar2(50)
    , COL2 varchar2(50)
     )
    
    PL/SQL-procedure is geslaagd.
    
    MHO%xe> select column_name, data_type from user_tab_columns where table_name = 'BLA';
    
    COLUMN_NAME                    DATA_TYPE
    ------------------------------ ---------------------------------------------------------------------
    COL1                           VARCHAR2
    COL2                           VARCHAR2
    
  • How to find the date item was my favorites on Mozilla Firefox

    on system moot bookmark how to find the date of the bookmark?

    In bookmarks menu select organize bookmarks to open the bookmarks library. In the bookmarks library, click views, and then display the columns and then added. This will display a column showing when a bookmark has been added.

  • Get the Data Type of queue

    I'm working my way through my first vi producer consumer and I have two questions.

    1 I am the queue data x, y samples acceleration waveform type z. The code snippet shows how to set the data type in the queue to get. It is rather ugly and disturbing, even if it seems to work.  Is there a way more elegant and beautiful to set the data type?

    2. the sampling frequency of the accelerometer is 5120 Hz.  The DAQmx Read buffer is 1024 length samples.  Therefore, it takes 200 [ms] to fill the buffer.  I put the metronome 100 [MS] to ensure that the producer is not without samples.  This means that the loop While producer will spend much of its time waiting.  Right?  Given the wait cost anything?

    In ProducerConsumerExample.vi of LabVIEW, the sampling frequency is 10000.  The size of the read buffer is 1000.  And the metronome is set to 100 [ms].  The sampling frequency of the device comes from the hardware device in the cDAQ.  100 [ms] interval comes from the PC.  It will not be a mismatch?  I would like to understand this before I put my metronome to 200 [ms].

    Arizona_Joe wrote:

    Then, can shed you some light on the behavior of the loop while you mentioned is not a metronome that is is punctuated by DAQmx? I think it would do a lot of rotation.

    It is not spinning as he waits inside the DAQmx Read for samples N must be obtained.  This isn't a request for data.  It takes time to collect these samples.  That length of time depends on your sampling rate and how many samples you request.  So because he is waiting inside the DAQmx Read, there is no need to add an additional wait.  Let the DAQmx Read limit the rate of the loop.

    It's actually like the loop of consumer for the consumer to the producer.  Playback of the queue will limit the rate at which that loop runs.  It should therefore no waiting.

  • 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.

  • 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

Maybe you are looking for