Re: Data Types
From: Steve (stevea_at_centurion-ms_RemoveThis_.co.uk)
Date: 02/20/04
- Next message: Analysis&Solutions: "PEAR DB 1.6.0 has been released"
- Previous message: Ian Boyd: "Re: to null or not to null"
- In reply to: Tibor Karaszi: "Re: Data Types"
- Next in thread: Steve: "Re: Data Types"
- Reply: Steve: "Re: Data Types"
- Reply: Andrew J. Kelly: "Re: Data Types"
- Messages sorted by: [ date ] [ thread ]
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.
> >
> >
>
>
- Next message: Analysis&Solutions: "PEAR DB 1.6.0 has been released"
- Previous message: Ian Boyd: "Re: to null or not to null"
- In reply to: Tibor Karaszi: "Re: Data Types"
- Next in thread: Steve: "Re: Data Types"
- Reply: Steve: "Re: Data Types"
- Reply: Andrew J. Kelly: "Re: Data Types"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|