SQL Server Central is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
Search:  
 
 

How to obtain today's date within a UDF

By Additional Articles, 2004/09/14

Total article views: 133 | Views in the last 30 days: 18

As you know, if you've written even a modested amount of UDFs, they like to be deterministic in fact they insist on it, and the most undeterministic value you are likely to want is today's date.
Yes, you can use calls to extended stored procedures but I like the simplicity and versatility of this solution.
The answer is.... UDFs can select from views and views can return calculated fields. So, create a table with one field and one dummy row - the data does not matter. Create a view on this table (say, vw_getDate) that returns GETDATE() as the only field. Then it's just a case of...

declare @thisStartDate datetime
select @thisStartDate=today from dbo.vw_getDate

Obviously, thsi can be extended for other non-deterministic problems.

I thank you. Goodnight.
ps. the sample below was required because Navision stores blank sales and purchase price start and end dates as '01-01-1753' which as we all know has somethign to do with the Gregorian Calendar. Personally, I would have prefered nulls.

By Additional Articles, 2004/09/14

Total article views: 133 | Views in the last 30 days: 18
Your response
 
 
Related tags

Miscellaneous    
 
Already registered?  

Free registration required

To read the rest of this article, and access thousands of other articles, we ask you to register on the site and subscribe to our newsletters.

Register

E-mail address:
Password:
Password (confirm):

  

Subscriptions

We ask you to register on the site and subscribe to our newsletters. Subscribing to our newsletters gets you:

  • ALL of our content (thousands of articles, scripts, and forum postings)
  • A daily newsletter (example)
  • A weekly news round up (example)
  • The opportunity to ask and answer questions in our forums
  • A daily Question of the Day to test and help you increase your knowledge of SQL Server.

We ask that you give the newsletter a try for a week. Over 200,000 SQL Server Professionals a day find it entertaining and useful. If not, you are welcome to unsubscribe at anytime.

Steve Jones
Editor, SQLServerCentral.com