what's wrong with integer? why does it have to be unsigned?
how many rows will the table have to hold?
The question is not about the number of rows,
but how I can define a column as 32 bits unsigned int value.
0 - 4294967295
So I can't to store the value 4294967290 to a MS SQL server?
Must I use a 64 bits type - prefer not.
This works fint in MySQL, P.SQL, Oracle(?) and many other
vell known SQL engines - but not MS SQL ? Realy ?
My program using ODBC have a common SQL interface.
When doing a lookup after the number 4294967290 in a
MS SQL 2000 table I revcieve the error code:
SQLExecDirect [SELECT NDX,ConType FROM ContactTable WHERE NDX=4294967290] -1 22003 8115 [Microsoft][ODBC SQL Server Driver][SQL Server]Arithmetic overflow error converting numeric to data type int.
If you just cast the uint to an int16 at the source, that sidesteps the problem. It introduces the nasty side effect of having different high level values for the same bit pattern (which are due to changing from uint to int16), but at least it allows you to store the data easily in normal int columns.
This functionalit is provided implicitly in older SQL libraries, and I believe it is still supported, even though it has been many years since I've had any need for it.
you probably have something else wrong with the query
like, the use of the reserved word Function as a column name
I only did what you told me to do (no brain - no headache)
But you was right. it works now.
Using create table
And in the Microsoft Development Enviroment 2003 BIGINT is now listed as available field type.