Solved

Update Time on DateTime Field in SQL Server

Posted on 2006-07-13
9
9,487 Views
Last Modified: 2012-06-27
I'm working on an ASP.NET application that will update times from a table.  I have a stored procedure to select the data that formats the date as a time value only, for example 16:00.  In the SQL table the value is stored as "11/22/2005 4:00:00 PM".

My problem is that I need to update the time, but keep the same date, in my ASP.NET application.  For example, change "11/22/2005 4:00:00 PM" to "11/22/2005 5:30:00 PM."  I'm having problems passing the values to the table in an update statement.

I hope I'm making sense.  Any help is greatly appreciated as this is very urgent!
0
Comment
Question by:MeetVirginia
9 Comments
 
LVL 25

Expert Comment

by:Mr_Peerapol
ID: 17099985
Your update statement string shoud look like:

'UPDATE your_table SET time_field = CONVERT(DATETIME, CONVERT(VARCHAR(10), time_field, 120) + '' ' + @time_from_asp + ''', 120) WHERE record_id = ' + @id_from_asp
0
 
LVL 41

Expert Comment

by:ralmada
ID: 17099993
Hi MeetVirginia,

you can use this

update yourtable
set yourfield = yourfield + '1:30'

0
 
LVL 10

Expert Comment

by:RichardCorrie
ID: 17099998
try:

create procedure UpdatetoTime
@NewTime as datetime
as
declare
@strNewTime char(5)
set @strNewTime = convert(char(5),@Newtime,114)
update
yourtable
set yourdatefield = cast(convert(varchar(12), yourdatefield, 106) + ' ' + @strNewTime as datetime)
go

/Richard
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 11

Accepted Solution

by:
Ved Prakash Agrawal earned 500 total points
ID: 17100011

UPDATE TableName
SET DateTimeField = convert(varchar(10),DateTimeField ,120) +' ' +  convert(varchar(8),@timeValue,108)

where your condition here
0
 
LVL 9

Expert Comment

by:udayshankar
ID: 17100017
did you try this? datepart is hh

DATEADD ( datepart , number, date )
0
 

Author Comment

by:MeetVirginia
ID: 17101152
I'm working on this stuff.  I'll let you all know how it goes.  Thank you!!!
0
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 17115340
while building the query int asp.net

u could use this

datetime.ToString("MM/dd/yyyy hh:mm:ss");
0
 

Author Comment

by:MeetVirginia
ID: 17166910
I'm sorry you guys, I accidently accepted the wrong answer.  While I appreciate all the responses, and they were very helpful during a critical time, the response from ved17nov worked easiest for me.  I have posted the error in Customer Support to have the points allocated to the proper person.
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

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.
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.

786 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