Solved

having problem using datadiff, getting conversion failed when converting date...from character string

Posted on 2010-09-20
10
237 Views
Last Modified: 2012-05-10
I have a couple of date fields. If I just do select date1, date2 from tbl. They look the same (like regular date/time fields). If I do
select DateDiff(dd, date1, GetDate())
works fine
this one gets the error
select DateDiff(dd, date2, GetDate())
this also gets the same error
select DateDiff(dd, cast(date2 as datetime), GetDate())

So, I'm thinking date2 is a string, but, why does it look like a date if selected alone and how do I tell what data type it is?

How do I get it to work with the datediff?

thanks
0
Comment
Question by:avoorheis
  • 4
  • 3
  • 3
10 Comments
 
LVL 11

Accepted Solution

by:
aelliso3 earned 300 total points
ID: 33719304
Try this:

select DateDiff(dd, convert(datetime,(date2 )), GetDate())
0
 
LVL 28

Assisted Solution

by:sammySeltzer
sammySeltzer earned 200 total points
ID: 33719306
Maybe remove the datetime like:

select DateDiff(dd, cast(date2 as datetime), GetDate())
0
 
LVL 11

Expert Comment

by:aelliso3
ID: 33719370
Just for future knowledge, you can use the following to find the datatypes and some other info about the tables as well:
 

SELECT TABLE_CATALOG AS DBName
     , TABLE_SCHEMA AS SchemaName
     , COLUMN_NAME AS ColumnName
     , DATA_TYPE AS DataType
     , CHARACTER_MAXIMUM_LENGTH AS MaxLength
     --, *
FROM information_schema.columns
WHERE table_schema = 'dbo'
     AND table_name = 'TableName'
     --AND column_name = 'col'

Open in new window

0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 

Author Comment

by:avoorheis
ID: 33719445
DateDiff(dd, convert(datetime, date2), GetDate())       does not work, same error

select DateDiff(dd, cast(date2 as datetime), GetDate())     does not work, same error


0
 

Author Comment

by:avoorheis
ID: 33719464
date1 and date2 are both date time fields
I must be missing something, but, I guess that's the problem
0
 

Author Comment

by:avoorheis
ID: 33719524
hold on...it works ok directly from the original table, the query I'm using has lots of other things going on....let me review a bit more and contine in a little bit
0
 
LVL 28

Expert Comment

by:sammySeltzer
ID: 33719566
>> select DateDiff(dd, cast(date2 as datetime), GetDate())     does not work, same error
are you sure?

Be sure you are selecting from a table

 select DateDiff(dd, cast(date2 as datetime), GetDate())    FROM...

BTW, what is the date2 data type?

It worked for me when I just tried it now.
0
 
LVL 11

Expert Comment

by:aelliso3
ID: 33719638
sammySeltzer ... read the comment directly above you're last post ...
0
 
LVL 28

Expert Comment

by:sammySeltzer
ID: 33719707
yea, I posted before I saw that comment, sorry.
0
 

Author Comment

by:avoorheis
ID: 33719774
the problem was in a different area
thanks for looking and posting
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you hear the word proxy, you may become apprehensive. This article will help you to understand Proxy and when it is useful. Let's talk Proxy for SQL Server. (Not in terms of Internet access.) Typically, you'll run into this type of problem w…
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question