Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can you convert "tinyint" of t-sql to integer in c#?

Tags:

c#

sql-server

I have a tinyint column in the database and I wish to convert it to Int32 for an SqlDataReader.

How do i go about it?

Edit #1

I recently had to do this.

int a = dataReader.GetByte(dr.GetOrdinal("ColumnName")); 

#In Addition to Answer

SQL Server Data Type Mappings

bigint           - GetInt64   binary           - GetBytes   int              - GetInt32   money            - GetDecimal   rowversion       - GetBytes   smallint         - GetInt16   tinyint          - GetByte   uniqueidentifier - GetGuid    ... 

For more info visit - SQL Server Data Type Mappings

like image 354
Orson Avatar asked Dec 17 '09 14:12

Orson


People also ask

How do I convert bit to int in SQL?

Try using CAST(columnName AS INT) AS IntValue . e.g. OR you can use CONVERT(INT, columnName) AS IntValue .

What is Tinyint data type in SQL?

The TINYINT data type is an integer value from 0 to 255. TINYINT is the smallest integer data type and only uses 1 byte of storage. An example usage of TINYINT is a person's age since no person reaches the age of 255.

How do I convert int to numeric in SQL?

Use the CAST() function to convert an integer to a DECIMAL data type. This function takes an expression or a column name as the argument, followed by the keyword AS and the new data type. In our example, we converted an integer (12) to a decimal value (12.00).


1 Answers

What does it normally come back as - byte? If so, just do an unbox and then a convert:

(int)(byte) reader["column"]; 

or just let the conversion happen naturally:

int x = (byte) reader["column"]; 

or do the same with the strongly typed methods:

int x = reader.GetByte(column); 

Adjust this to sbyte or short or whatever if I'm wrong about it mapping to byte. You could do the conversion at the SQL Server side, but I'd personally do it at the client side instead, and keep the SQL simpler.

like image 64
Jon Skeet Avatar answered Oct 22 '22 02:10

Jon Skeet