Solved

Convert DateTime to VarChar

Posted on 2006-06-28
14
17,540 Views
Last Modified: 2008-07-14
Why won´t this work?

"Microsoft OLE DB Provider for SQL Server (0x80040E57)
String or binary data would be truncated."
To me it appears that it wont convert the Date to VarChar Datatype. If I insert a date directly or via a variable like:

SET @tempVar = '2004-12-12' instead of the CONVERT it works.

SET @strShowing = '(Showing.ShowingDate BETWEEN ''' + CONVERT (VARCHAR, GETDATE(),121) + ''' AND ''' + CONVERT(VARCHAR,@ShowingTo) + ''') AND'
0
Comment
Question by:ChristianKullenbo
14 Comments
 

Author Comment

by:ChristianKullenbo
ID: 17004103
I should add that in is only when the GETDATE Function i used I get the error
0
 
LVL 25

Expert Comment

by:dstanley9
ID: 17004299
try

SET @strShowing = '(Showing.ShowingDate BETWEEN ''' + CONVERT (VARCHAR(24), GETDATE(),121) + ''' AND ''' + CONVERT(VARCHAR,@ShowingTo) + ''') AND'
0
 
LVL 3

Expert Comment

by:RickBeebe
ID: 17004301
The date conversion works fine for me.....

Is @strShowing long enough to accept the entire string?

DECLARE @strShowing VARCHAR(2000)....
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 3

Expert Comment

by:RickBeebe
ID: 17004311
The default length for VARCHAR is 30.
0
 
LVL 32

Expert Comment

by:bhess1
ID: 17004408
This error is almost certainly only peripherally related to the GETDATE conversion.  What this error indicates is that an insert or update has pushed the total amount of data on a record beyond the 8,000 character hard limit that Microsoft SQL allows in a single row (excluding blob-types such as text or image).

The easiest way to be certain would be to cause your code to exit immediately after the SET @strShowing statement.  If this does not generate an error, then the error isn't in this line, but in something further down the road.
0
 

Author Comment

by:ChristianKullenbo
ID: 17004526
Strange, the @strShowing is what you see, max varchar(100) (havent counted)
this variable is part of a larger string a nvarchar.. but that is set to 2000 and as a said erlier when i hardcode the date there is no problem.. And if i exlclude the @strShowing there is no problems...
0
 
LVL 3

Expert Comment

by:RickBeebe
ID: 17004584
SELECT CONVERT(VARCHAR,GETDATE(),121)

Returns:

'2006-06-28 15:13:22.123'

Did you include the time when you hard coded the date?
0
 

Author Comment

by:ChristianKullenbo
ID: 17004656
No I didnt.
The SELECT Convert works for me to..in the query analyzer....

But, when i use your time as a variable I get the same error, so i has something to do with the length...
0
 

Author Comment

by:ChristianKullenbo
ID: 17004660
strange because the varchar vas set to 100 that should be enough..
0
 

Author Comment

by:ChristianKullenbo
ID: 17004700
Maybe it is because i converted to string and my string is not between quotes in the query so it is interpreted as two diffrent values (the datepart and the timepart )
How do i cut off the timepart?
0
 
LVL 3

Accepted Solution

by:
RickBeebe earned 250 total points
ID: 17004811
SELECT CONVERT(VARCHAR,GETDATE(),110)
0
 

Author Comment

by:ChristianKullenbo
ID: 17004867
I would like the format yyyy-mm-dd without the time. Is there a predefined date format for that?
0
 
LVL 28

Expert Comment

by:rafrancisco
ID: 17005027
To format the date without time in the yyyy-mm-dd, you can do the following:

SELECT CONVERT(VARCHAR(10), GETDATE(), 120) AS [YYYY-MM-DD]

For additional date formats, you can refer to the following link:

http://www.sql-server-helper.com/tips/date-formats.aspx
0
 

Author Comment

by:ChristianKullenbo
ID: 17005048
Thanx!
0

Featured Post

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.

Question has a verified solution.

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

Suggested Solutions

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
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 INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

777 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