SQL Apprentice Question
I have a column in my database I want to be a computed flag based on an
active date.. the Flag column is called active..
basicall I want if the ActiveDate <= getdate() (as in today is after the
item was active) then the active flag is a bit 1, else its a bit 0... I
tried this as a flat out <= statement, got an error by SQL Managment
studio... so how would this be done? thanks!
Celko Answers
>> I have a column in my database I want to be a computed flag based on an active date.. the Flag column is called active.. basically I want if the ActiveDate <= getdate() (as in today is after the item was active) then the active flag is a bit 1, else its a bit 0...
I tried this as a flat out <= statement, got an error by SQL
Management studio... so how would this be done? <<
This would be done by forgetting all the basic rules for programming
in SQL :)
1) We do not use the proprietary BIT data type that does not exist in
Standard SQL
2) Flags are for assembly language programming and have no place in
RDBMS; that is why SQL has no BOOLEAN data types
3) We do not store computed columns in a table. Write a VIEW and
learn to use CURRENT_TIMESTAMP instead of the old proprietary
getdate() function call to get today's active data.
Original Source
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment