Solved

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

Posted on 2010-09-20
10
239 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 29

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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 29

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 29

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

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

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

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
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…
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

719 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