February 17, 2009 at 5:18 pm
GSquared (2/17/2009)
BOL was very nearly useless to me when I started out. Here's an example of why even a simple question can get frustrating.I had an Access database that I was upgrading to SQL 2000 because it needed to be. In Access, I had found the Now() function, that gives the current date and time. That function doesn't work in SQL, but I hadn't yet heard of getdate() or current_timestamp().
So, what do you do? Fire up BOL and search for "now"? Useless. Search for "today's date and time"? Still won't get you what you need. "Date and time"? You'll finally find it under that one, about four links down the list, under "Date and Time function (Transact SQL)".
Let's assume you're educated enough to know that that's the one you're looking for, a T-SQL function. Here's what you get when you click the link:
The following scalar functions perform an operation on a date and time input value and return a string, numeric, or date and time value.
The Transact-SQL date and time functions and their determinism property are listed in the following table. For more information about function determinism, see Deterministic and Nondeterministic Functions.
First, you have to look up what the heck "scalar" means. Here are standard dictionary definitions:
noun: a variable quantity that cannot be resolved into components
adjective: of or relating to a directionless magnitude
Well, a date and time seem like something that can be resolved into components, and this is an adjective anyway, so is the current date and time something that could possibly be considered a directionless magnitude? I'm not so sure about that. Are AD and BC directions?
Dig a little deeper, and the Compact Oxford has just about exactly the summary definition, but Encarta Online has this clarification:
physics,mathematics quantity with magnitude but not direction: a quantity that has magnitude but no direction, e.g. mass or time
Aha! We seem to be getting somewhere! Time can be a scalar quantity!
The Free Online Dictionary of Computing goes even further, and says,
Any data type that stores a single value (e.g. a number or Boolean), as opposed to an aggregate data type that has many elements. A string is regarded as a scalar in some languages (e.g. Perl) and a vector of characters in others (e.g. C).
For the moment, lets assume that "Boolean", "aggretate data type", "elements", "string" and "vector" are all familiar, which is one heck of a big assumption, but it helps the narrative here.
So, it seems to me that the current date and time is probably a scalar value, we're definitely onto something here with this article, and we're only two words into it and have only spent about 15 minutes on this so far!
Uh oh! What's "determinism"?
Same quest, we finally find that it means you get out the same thing every time you put in the same thing, or you don't (deterministic or non). Five or so minutes later, we're now okay on the first two sentences, now we just have to pick out the correct function, assuming it's even in the list.
Let's assume a little intuition here, and the name "Day" seems more promising than "DateAdd" or "DateDiff". Might be a good place to start. Nope. Doesn't do what we need. Hmmm... maybe it's this "GetDate" or "GetUTCDate". Gonna have to look at both of them, to be sure.
GetDate has this:
Returns the current system date and time in the SQL Server 2005 standard internal format for datetime values.
GetUTCDate has this:
Returns the datetime value representing the current UTC time (Coordinated Universal Time or Greenwich Mean Time). The current UTC time is derived from the current local time and the time zone setting in the operating system of the computer on which the instance of Microsoft SQL Server is running.
Looks like GetDate() is what I need to replace Now(). Woot! I figured it out. And it took less than half an hour!
But that's half an hour on something as simple as replacing a known function from one language (VB) with an unknown but nearly identical function from another (SQL).
What happens when you try to figure out what a "correlated sub-query" is? Or the first time you discover that you can look at an execution plan and have to muddle through "estimated cost", "hash join", "table scan", et al?
Books Online is great, if you already have a good grounding in the basics and know pretty much where you want to go. If someone can tell you, "search for this" and give you the right keywords, it can be very useful. But "RTFM" just doesn't cut it in SQL if you ask me. Been there, tried that, took years to get comfortable with it.
But this particular incident? Wow!!!! The error message is kind enough to give you the exact handling! It doesn't get better than that. You don't have to look it up. You don't have to guess keywords, you don't have to throw an error code into Google search and hope the results are in English. You just have it. But I guess that wasn't good enough in this case. Not sure why. Definitely seems to belong on this thread.
Point made! ๐ Usually it's best to presume it's just waffle and just scan for what you need. In 2005 BOL, it's almost appears as if the content has been on a strict diet and is now looking a bit emaciated.
Max
February 17, 2009 at 5:58 pm
Lynn Pettis (2/17/2009)
GilaMonster (2/17/2009)
<Sigh> Why don't people read the manuals?Thinking and Reading that would mean. On silver plater answer should be.
Heh... "STAR"... Start Thinking And Reading. Or, "RATS"... Read and Think, Stupid.
Or... "Do you like pork chops?" ๐
--Jeff Moden
Change is inevitable... Change for the better is not.
February 17, 2009 at 6:13 pm
Bruce W Cassidy (2/17/2009)
[font="Verdana"]A friend of mine wrote a book on why IT projects fail. One of the points he made (which I remember vividly) was that there are different levels or qualities of communication. Documentation is one of the least effective means of communication. And yet, in the IT community, we seem to treat it as the holy grail.People ask questions because interactive communication (even via a bulletin board) is a far more effective means of communication than is reading documentation. Reading non-interactive documentation is actually an acquired skill.
If all we needed to do to learn is read, then all our schools would need to teach is reading.
Link to book (for the curious): Software Project Secrets: Why Software Projects Fail
[/font]
I agree... especially when the someone who writes the document is really a frustrated novelist and includes no code samples. Or worse... incorrect code samples and code samples that you can't actually run because they didn't provide the code to gen the test data.
--Jeff Moden
Change is inevitable... Change for the better is not.
February 17, 2009 at 6:15 pm
Bruce W Cassidy (2/17/2009)
[font="Verdana"]A friend of mine wrote a book on why IT projects fail. One of the points he made (which I remember vividly) was that there are different levels or qualities of communication. Documentation is one of the least effective means of communication. And yet, in the IT community, we seem to treat it as the holy grail.People ask questions because interactive communication (even via a bulletin board) is a far more effective means of communication than is reading documentation. Reading non-interactive documentation is actually an acquired skill.
If all we needed to do to learn is read, then all our schools would need to teach is reading.
Link to book (for the curious): Software Project Secrets: Why Software Projects Fail
[/font]
Actually, that's an outstanding point on a pet peeve of mine... sending IM's from adjacent cubes. What a bloody waste of time.
--Jeff Moden
Change is inevitable... Change for the better is not.
February 17, 2009 at 6:19 pm
Jeff Moden (2/17/2009)
I agree... especially when the someone who writes the document is really a frustrated novelist and includes no code samples. Or worse... incorrect code samples and code samples that you can't actually run because they didn't provide the code to gen the test data.
[font="Verdana"]You've been reading my forum answers again, haven't you?
[/font]
Jeff Moden (2/17/2009)
Actually, that's an outstanding point on a pet peeve of mine... sending IM's from adjacent cubes. What a bloody waste of time.
[font="Verdana"]Mine is phones. I phind fones disruptive. I'd rather go walk and talk. IM's I don't mind too much, because we don't use IM! :w00t:
I have a friend (who doesn't work with me) who occasionally catches me for some hairy SQL Server question via IM when I'm at home, and that's not too bad... makes it easy to copy and paste SQL code.[/font]
February 17, 2009 at 6:26 pm
"correlated sub-query"
Correlated sub-query?
CorrELATed sub-query?
No wonder I haven't been able to find anything !!!!!
I've been trying to search for CORRUGATED subqueries !!!! :w00t:
---------------------------------------------------------------------------------------------
Seriously, even reading the manuals requires a certain amount of background conceptual knowledge and a base vocabulary. I should know something about chemistry before I try to dig into organicchemistry. I should know something about law before trying to research legal issues.
Here is where I think professional standards and certification must become mandatory for our line of work. Too many people are being given DB administrative or development responsibility for which they are totally unprepared. You can't just point these folks to books online, but because often they don't know enough to understand the significance of what they are reading.
__________________________________________________
Against stupidity the gods themselves contend in vain. -- Friedrich Schiller
Stop, children, what's that sound? Everybody look what's going down. -- Stephen Stills
February 17, 2009 at 6:32 pm
P.S.
I send IMs to the guys in the next cube all the time... you can cut and paste code, or whatever, and not bother all the other folks who are trying to concentrate. If either of us are working on something else we can take our time replying. Think of it as asynchronous communications for people ๐ Quicker to get into and out of than email. Not as disruptive to the harmony of the cube farm. But if something isn't amenable to short messages, get up and walk 5 steps.
__________________________________________________
Against stupidity the gods themselves contend in vain. -- Friedrich Schiller
Stop, children, what's that sound? Everybody look what's going down. -- Stephen Stills
February 17, 2009 at 6:33 pm
Bob Hovious (2/17/2009)
I've been trying to search for CORRUGATED subqueries !!!! :w00t:
[font="Verdana"]Look in SQL Server Books Online under "nail gun".[/font]
February 17, 2009 at 6:43 pm
I tried ... closest I could get was "naieve bayes algorithm" which, curiously, I had already heard about recently.
__________________________________________________
Against stupidity the gods themselves contend in vain. -- Friedrich Schiller
Stop, children, what's that sound? Everybody look what's going down. -- Stephen Stills
February 17, 2009 at 7:32 pm
Bob Hovious (2/17/2009)
I tried ... closest I could get was "naieve bayes algorithm" which, curiously, I had already heard about recently.
Great I had post in a forum to find out what that is ๐
Jack Corbett
Consultant - Straight Path Solutions
Check out these links on how to get faster and more accurate answers:
Forum Etiquette: How to post data/code on a forum to get the best help
Need an Answer? Actually, No ... You Need a Question
February 17, 2009 at 7:36 pm
Bob Hovious (2/17/2009)
"correlated sub-query"
Correlated sub-query?
CorrELATed sub-query?
No wonder I haven't been able to find anything !!!!!
I've been trying to search for CORRUGATED subqueries !!!! :w00t:
---------------------------------------------------------------------------------------------
Seriously, even reading the manuals requires a certain amount of background conceptual knowledge and a base vocabulary. I should know something about chemistry before I try to dig into organicchemistry. I should know something about law before trying to research legal issues.
Here is where I think professional standards and certification must become mandatory for our line of work. Too many people are being given DB administrative or development responsibility for which they are totally unprepared. You can't just point these folks to books online, but because often they don't know enough to understand the significance of what they are reading.
I wonder if the monks know that the "word" is actually "celebrate". ๐
--Jeff Moden
Change is inevitable... Change for the better is not.
February 17, 2009 at 7:43 pm
Bob Hovious (2/17/2009)
P.S.I send IMs to the guys in the next cube all the time... you can cut and paste code, or whatever, and not bother all the other folks who are trying to concentrate. If either of us are working on something else we can take our time replying. Think of it as asynchronous communications for people ๐ Quicker to get into and out of than email. Not as disruptive to the harmony of the cube farm. But if something isn't amenable to short messages, get up and walk 5 steps.
I found that it's not really that disruptive to get up and go talk... the really cool part about doing that is people will, in fact, listen a bit even when it doesn't look like it. What sometimes happens is that someone will at least learn who they can go to for a certain type of problem. The great thing happens when someone overhears and goes "Hey! I just solved a problem like that... take a look!". It just doesn't happen with IM's between two people.
--Jeff Moden
Change is inevitable... Change for the better is not.
February 17, 2009 at 7:46 pm
Bruce W Cassidy (2/17/2009)
Jeff Moden (2/17/2009)
I agree... especially when the someone who writes the document is really a frustrated novelist and includes no code samples. Or worse... incorrect code samples and code samples that you can't actually run because they didn't provide the code to gen the test data.[font="Verdana"]You've been reading my forum answers again, haven't you?
[/font]
BWAA-HAA!!! Now THAT's a great sense of humor! Thanks for the laugh Bruce! ๐
--Jeff Moden
Change is inevitable... Change for the better is not.
February 17, 2009 at 9:08 pm
Sometimes there's just no good substitute for one-on-one, boot-to-butt communication.
I had an exchange like this with a developer recently.
Dev: I need a login created.
Me: Send me an email with Server name, login type(SQL/Windows), Login Name, and access required.
Dev Email 1: I need login DevSomething
Me Email 1: Server name? Type? Access?
Dev Email 2: The server Iโm working on.
Me Email 2: What is the Server name? Type? Access?
Dev Email 3: You should know the server Iโm working on.
Me Email 3: Do you know the server youโre working on? Would you mind telling me?
Dev Email 4: Itโs Server14
Me Email 4: Great, weโre making some real progress now. Now, how about the login type and access?
Dev Email 5: Do I have to tell you every little thing?
Me Email 5: That would be very helpful. Now, how about the login type and access?
โฆ and so onโฆ
February 17, 2009 at 9:42 pm
Michael Valentine Jones (2/17/2009)
Dev Email 5: Do I have to tell you every little thing?Me Email 5:
...Only if you want me to create the login and give you the access. ๐
David
@SQLTentmakerโHe is no fool who gives what he cannot keep to gain that which he cannot loseโ - Jim Elliot
Viewing 15 posts - 1,381 through 1,395 (of 66,712 total)
You must be logged in to reply to this topic. Login to reply