in

Oracle's equivalent for MS SQL's bit data type

Last post 04-22-2008 2:09 AM by danywu. 4 replies.
Page 1 of 1 (5 items)
Sort Posts: Previous Next
  • 04-20-2008 10:20 PM

    • danywu
    • Top 500 Contributor
    • Joined on 09-28-2007
    • Posts 3

    Oracle's equivalent for MS SQL's bit data type

    Hi everyone, I have created a DB in MS SQL which has bit columns in most tables. These are nicely translated to boolean properties in SubSonic entities. Now I have to also create the same DB in Oracle. My question is, what do you guys use in Oracle to represent boolean/bit columns? Many thanks, Dany.
    Filed under: , ,
  • 04-22-2008 1:23 AM In reply to

    • ranomore
    • Top 10 Contributor
    • Joined on 11-05-2007
    • Salt Lake City
    • Posts 161
    • Moderator

    Re: Oracle's equivalent for MS SQL's bit data type

    I've seen people code NUMBER(1) for this. But these guys love single character primary key columns too ;)

  • 04-22-2008 1:43 AM In reply to

    • danywu
    • Top 500 Contributor
    • Joined on 09-28-2007
    • Posts 3

    Re: Oracle's equivalent for MS SQL's bit data type

    Well, that's all good but what property type does that translate to? I'm after a boolean property - I don't really care what it is in Oracle, as long as the .NET class ends up with a boolean property :o)
  • 04-22-2008 1:51 AM In reply to

    • ranomore
    • Top 10 Contributor
    • Joined on 11-05-2007
    • Salt Lake City
    • Posts 161
    • Moderator

    Re: Oracle's equivalent for MS SQL's bit data type

    The Oracle data provider class itself may help :

    switch(dbType)
    {
    case DbType.AnsiString:
    return OracleType.VarChar;
    case DbType.AnsiStringFixedLength:
    return OracleType.Char;
    case DbType.Binary:
    return OracleType.Raw;
    case DbType.Boolean:
    return OracleType.Byte;
    case DbType.Byte:
    return OracleType.Byte;
    case DbType.Currency:
    return OracleType.Number;
    case DbType.Date:
    return OracleType.DateTime;
    case DbType.DateTime:
    return OracleType.DateTime;
    case DbType.Decimal:
    return OracleType.Number;
    case DbType.Double:
    return OracleType.Double;
    case DbType.Guid:
    return OracleType.Raw;
    case DbType.Int16:
    return OracleType.Int16;
    case DbType.Int32:
    return OracleType.Int32;
    case DbType.Int64:
    return OracleType.Number;
    case DbType.Object:
    return OracleType.Blob;
    case DbType.SByte:
    return OracleType.SByte;
    case DbType.Single:
    return OracleType.Float;
    case DbType.String:
    return OracleType.NVarChar;
    case DbType.StringFixedLength:
    return OracleType.NChar;
    case DbType.Time:
    return OracleType.DateTime;
    case DbType.UInt16:
    return OracleType.UInt16;
    case DbType.UInt32:
    return OracleType.UInt32;
    case DbType.UInt64:
    return OracleType.Number;
    case DbType.VarNumeric:
    return OracleType.Number;

    default:
    {
    return OracleType.VarChar;
    }
    }

     

  • 04-22-2008 2:09 AM In reply to

    • danywu
    • Top 500 Contributor
    • Joined on 09-28-2007
    • Posts 3

    Re: Oracle's equivalent for MS SQL's bit data type

    That's interesting - I'm using 10g Express and Byte does not appear to be a valid data type.
Page 1 of 1 (5 items)