Re: Data Types

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Steve (stevea_at_centurion-ms_RemoveThis_.co.uk)
Date: 02/20/04


Date: Fri, 20 Feb 2004 16:50:37 -0000

Hi Tibor

Thanks for the welcome and the answers :)

I was looking about for the answers in BOL, I just wanted claraification
before I make my final decision. A UID takes up 16 bytes, and a varchar with
a length of 32 characters takes up 32 bytes. Given the choice I would want
to use UID as it gets generated automatically and it takes up less storage.

Do you know how I can set the Default Value for the CreateDate to be the
current date/time? I guess I'll have to take care of the ModifyDate some
other way. The values will be Null if there isn't an appropriate date in
there.

Thanks.

Regards,
Steve.

"Tibor Karaszi" <tibor_please.no.email_karaszi@hotmail.nomail.com> wrote in
message news:%23FTFF089DHA.2524@TK2MSFTNGP11.phx.gbl...
> Steve,
>
> Inline...
>
> --
> Tibor Karaszi, SQL Server MVP
> Archive at:
>
http://groups.google.com/groups?oi=djq&as_ugroup=microsoft.public.sqlserver
>
>
> "Steve" <stevea@centurion-ms_RemoveThis_.co.uk> wrote in message
> news:u$EJCk89DHA.2324@tk2msftngp13.phx.gbl...
> > Hi all
> >
> > Sorry if this isn't the best place to ask this question. I've only
> recently
> > moved to SQL Server and I don't know the best newsgroups yet.
>
> This group is the right one for these types of questions. And, Welcome
:-).
>
> >
> > Does a Unique Identifier data type take up less storage space than a 32
> > character varchar data type?
>
> I encourage you to find the documentation for these things (Books Online),
> the Transact-SQL reference. A uniqueidentifier uses 16 bytes.
> DECLARE @a uniqueidentifier
> SET @a = NEWID()
> SELECT DATALENGTH(@a), LEN(@a)
>
>
> > Also, I have 2 date fields in my tables, one
> > for when the record is created and the other for when the record is
> > modified. In the past I have set these values from my application
> (seperate
> > VB app), but I'm looking at the data types and think that the TimeStamp
> type
> > would update to the current time when the record is modified (is that
> > correct?),
>
> No, timestamp in SQL Server is really a binary "counter", it doesn't carry
a
> datetime value. This partly is why MS is trying to make us use the name
> 'rowversion' for the datatype instead.
>
> > but what's the best method to set the create date? I would prefer
> > not to have to create triggers on all my tables (there are quite a few).
>
> You can have a default for your INSERT statements, but that won't take
care
> of UPDATEs. Your choices are, as far as I can see, triggers or
client/stored
> procedure code.
>
>
> > When specifying a TimeStamp field, can you tell it only to update the
time
> > if there isn't a value in there already, as will be the case for new
> > records?
>
> By "isn't a value", do you mean NULL or time portion is 00:00:00? Doesn't
> matter much as you would need to set the "whole " value in your code,
there
> are no built-in mechanisms to only set one part of the value.
>
> >
> > Thanks for any help.
> >
> > Kind Regards,
> > Steve.
> >
> >
>
>



Relevant Pages

  • Re: Recordset Update Error
    ... SQL Server bit fields need to be declared as ... Add a timestamp field to each table. ... The timestamp is a data type, ... 'Opens Recordset ...
    (microsoft.public.access.externaldata)
  • Re: Access 97 to SQL
    ... The timestamp is a data type, ... the timestamp field does not need to be part of the SELECT ... > converted the Access tables to a SQL Server 2000 database and linked the ... > the way I set up Autonumbering in SQL? ...
    (microsoft.public.access.externaldata)
  • Re: Access 97 to SQL
    ... I will incorporate the timestamp field. ... > value, hence, it couldn't append records. ... >> Every table in SQL Server should always have a PK and a timestamp field ... >> The timestamp is a data type, ...
    (microsoft.public.access.externaldata)
  • Re: Import Table Error/Access 2003
    ... You do not say what type of DB you are importing from. ... Every table in SQL Server should always have a PK and a timestamp field in ... The timestamp is a data type, ... the timestamp field does not need to be part of the SELECT ...
    (microsoft.public.access.externaldata)
  • Re: Data Types
    ... >> Steve, ... >> Tibor Karaszi, SQL Server MVP ... >>> character varchar data type? ... A uniqueidentifier uses 16 bytes. ...
    (microsoft.public.sqlserver.programming)