Comparing DateTime In UK Format
Nov 21, 2006
Hello friends,
I am trying to return all records between 2 dates. The Date columns are in DateTime format, and i am ignoring the timestamp. The user should be able to input UK Date Format (dd/mm/yyyy) and return the rows. This sql code works fine for American date format, but i get an error: converting from varchar to datetime when i put in a UK format. eg. 22/11/06. Please advise on this problem! many thanks!
ALTER PROCEDURE SalaryBetweenDates
(
@WeekStart datetime,
@WeekEnd datetime
)
AS
BEGIN
SET @WeekStart = (SELECT REPLACE(CONVERT(DATETIME,@WeekStart ,103),' ','-'))
SET @WeekEnd = (SELECT REPLACE(CONVERT(DATETIME,@WeekEnd ,103),' ','-'))
END
BEGIN
SELECT s.StaffNo,s.StaffName,s.StaffAddress, s.HourlyRate,
sh.HoursWorked, CONVERT(varchar(12), sh.WeekStart, 103) AS StartDate, CONVERT(varchar(12), sh.WeekEnd, 103)As EndDate,(sh.HoursWorked * s.HourlyRate)"Salary"
From Staff As S INNER JOIN StaffHours As Sh
On S.StaffNo = Sh.StaffNo
WHERE sh.WeekStart >= (@WeekStart)
AND sh.WeekEnd <= (@WeekEnd)
FOR XML RAW ('paySlip'), root('Staff'), ELEMENTS XSINIL
END
Return
View 4 Replies
ADVERTISEMENT
Nov 21, 2006
sorry folks the other message was on the wrong board!
Hello friends,
I
am trying to return all records between 2 dates. The Date columns are
in DateTime format, and i am ignoring the timestamp. The user should be
able to input UK Date Format (dd/mm/yyyy) and return the rows. This sql
code works fine for American date format, but i get an error:
converting from varchar to datetime when i put in a UK format. eg.
22/11/06. Please advise on this problem! many thanks!
ALTER PROCEDURE SalaryBetweenDates
(
@WeekStart datetime,
@WeekEnd datetime
)
AS
BEGIN
SET @WeekStart = (SELECT REPLACE(CONVERT(DATETIME,@WeekStart ,103),' ','-'))
SET @WeekEnd = (SELECT REPLACE(CONVERT(DATETIME,@WeekEnd ,103),' ','-'))
END
BEGIN
SELECT s.StaffNo,s.StaffName,s.StaffAddress, s.HourlyRate,
sh.HoursWorked,
CONVERT(varchar(12), sh.WeekStart, 103) AS StartDate,
CONVERT(varchar(12), sh.WeekEnd, 103)As EndDate,(sh.HoursWorked *
s.HourlyRate)"Salary"
From Staff As S INNER JOIN StaffHours As Sh
On S.StaffNo = Sh.StaffNo
WHERE sh.WeekStart >= (@WeekStart)
AND sh.WeekEnd <= (@WeekEnd)
FOR XML RAW ('paySlip'), root('Staff'), ELEMENTS XSINIL
END
Return
View 5 Replies
View Related
Jun 15, 2004
I have the following SQL:
select convert(datetime,'04-20-' + right(term,4)) as dt,
'Deposit' as type, a.* from
dbo.status_view a
where right(term,4) always returns a string which constitutes a 4 digit year eg '1999','2004',etc.
The SQL above returns
2004-04-20 00:00:00.000 Deposit ...
Which makes me think that it is able to successfully construct the datetime object inline. But then when I try and do:
select * from
(
select convert(datetime,'04-20-' + right(term,4)) as dt,
'Deposit' as type, a.* from
dbo.status_view a
) where dt >= a.submit_date
I get the following error:
Syntax error converting datetime from character string.
Given that it executes the innermost SQL just fine and seems to convert the string to a datetime object, I don't see why subsequently trying to USE that datetime object for something (in this case comparison with submit_date which is a datetime in the table a) should screw it up. Help!!! Thanks...
View 6 Replies
View Related
Jan 17, 2008
e.g.
1st March 2005 12:00:00
is showing as
01/03/2005 00:00:00
instead of
01/03/2005
Why does this happen?
View 4 Replies
View Related
Jan 17, 2002
I would like to compare 2 fields.. One of which is generated by the application upon insert. The other which is today's date.
In other words I want all records with today's date.
Problem is I get no results because I'm also apparently comparing the time.
Do I use a CONVERT function on my select & GETDATE outputs?
Thanks,
Kelly
View 2 Replies
View Related
May 22, 2002
I have a table with a DateTime field that has Dates in the format of mm/dd/yyyy I want to do a simple count on the table for the previous day but keep getting 0 for the results. Here is the script I've been trying.
SELECT COUNT(*)
FROM mytbl
WHERE Collected_Date = DateAdd (dd, -1, GetDate())
It appears to me that the time portion of the DateAdd function keeps the matches that I am looking for from happening. What am I missing or am I going about this all wrong?
Thanks for any help
View 1 Replies
View Related
Jun 15, 2005
I have date coming to one page as a string in the following format"May 4 2005 12:00AM"
I need to query one of my tables using this date in combination of other nondate values. How can I convert this date into valid sql server datetime format before I query a database tables
Please help
View 3 Replies
View Related
Feb 22, 2008
Hi,
I have a varchar field named FinancialYTDCode containing data in the format 2007F or 2008F. I want to only select the rows with the FinancialYTDCode that is the same as the current year.
Could someone please show me how I write this in my script.
Thanks
View 9 Replies
View Related
Nov 5, 2007
Hi,
I am trying to access a date column up to millisecond precession. So I cast date to as follows:
Code BlockCONVERT(varchar(23),CREATE_DATE,121)
I get millisecond part as a result of query but its 000?.
When I try to test the format by using getDate instead of DateTime column I get right milliseconds.
CONVERT(varchar(23),GetDate(),121) --Gives right milliseconds in return
View 4 Replies
View Related
Dec 18, 2013
Is there a performance impact (if so, how great is it) when comparing a date to a datetime data type?
An educated guess suggests yes, as there will be a type casting... but then again I don't believe there's an issue when comparing an int to a tinyint and there's an assumption these would play by the same rules?
This has only come about because I'm considering changing the data type used in my standard calendar script and this popped in to my head.
View 5 Replies
View Related
Oct 23, 2007
Can you compare chars stored as ccyymmdd correctly?
Field1>=field2
I was thinking you needed to cast this information as a datetime value before you could do it.
Thanks
View 6 Replies
View Related
Dec 20, 2006
Hello all,
I'm trying to write a query against an exisiting table that i can't modify and i'm running into a bit of a problem. The table stores timestamps as a char field instead of a datetime.
So, i've had to use the CONVERT function to change it to a datetime during my query. A sample is below:
SELECT convert(datetime, logged, 120) FROM AP200310
This works, except i want to include the option of querying a single day. Since the data that is returned is in this format:
12/12/2006 6:54:15 PM
The following sql statement doesn't work:SELECT convert(datetime, logged, 120) FROM AP200310 WHERE logged = '12/12/2006'
Thanks in advance for any help.
View 7 Replies
View Related
Jan 26, 2007
Hi, I wanted to take a date from my Sql server. it is save as dd/mm/yyyy. but when i use the select command it return me dd-mm-yyyyT00:00:00.0000000+08:00. i try to use this following code but it is not working....thedate = String.Format("{0:dd/MM/yyyy}", (reader.GetSqlDateTime(1)))
here is my complete codePublic Function deleteOrder(ByVal oid As Integer) As String
conn = dbCon.getConnection()
Dim cmd1 As New SqlCommand
Dim reader As SqlDataReader
Dim valid, sendDate, sd As String
Dim thedate As String
Dim cancelPeriod As String = CStr(System.DateTime.Today.AddDays(+3))
cmd1.CommandText = "select orderSendDate " & _
"from orders " & _
"where orderID = @oid"
cmd1.Parameters.Add("@oid", oid)
cmd1.Connection = conn
conn.Open()
reader = cmd1.ExecuteReader()
If Not reader.HasRows Then
valid = "No match found"
Else
If reader.Read Then
'String.Format("{0:dd/MM/yyyy}",(dr.GetSqlDateTime(1)));
thedate = String.Format("{0:dd/MM/yyyy}", (reader.GetSqlDateTime(1)))
'sd = reader("orderSendDate").ToString
'sendDate = sd.Substring(0, 10)
conn.Close()
End If
End If
'Return errMsg
If thedate = Convert.ToDateTime(cancelPeriod) Or thedate < CStr(System.DateTime.Today.AddDays(+3)) Then
valid = "You are not allowed to change"
Else
Try
conn.Open()
Dim strUpdate As String
Dim cmd As New SqlCommand
strUpdate = "update orders set orderStatus = @os where orderID = @oid"
cmd.Parameters.Add("@os", "c")
cmd.Parameters.Add("@oid", oid)
cmd.CommandText = strUpdate
cmd.Connection = conn
cmd.ExecuteNonQuery()
conn.Close()
valid = "Cancellation succesful"
updateOrderItemStatus(oid)
Catch ex As Exception
'Response.Write(ex.Message)
errMsg = ex.Message
conn.Close()
End Try
End If
Return valid
End Function
When i call my web method it gives me an error saying that page is not found... please teach me how to convert it.
thx
View 3 Replies
View Related
Mar 1, 2007
Datetime for using SQLSERVER QUERY NOT ANOTHER
MM/DD/YYYY HH:MM:SS AM/PM format using only sql query not using SUBSTRING ANY IDEAS
????
regards
sadeesh
View 1 Replies
View Related
Jul 10, 2007
I have installed the trial version of windows server 2003 on the second hard drive on my computer. I set up IIS and ran my website on it but the problem is when I do something on the site, which has a sql insert statement regarding datetime.now it says, "conversion failed when converting datetime from character string"
I think it's to do with the clock on server 2003, the format is like: 11/07/2007 2:39:59 a.m.
I think it should be in format AM and not a.m.
Any ideas on how to change the time format on a computer?
Or should I just change the Columns in my table to a Nvarcher value or something?
thanks
View 8 Replies
View Related
May 7, 2004
Hello:
Hello:
I have some code in a asp.net function in C# like this:
DateTime datetime = DateTime.Now;
SqlCommand CommandEvent = new SqlCommand("spAddNewEvents", Connection);
CommandEvent.Transaction = Trans;
CommandEvent.CommandType = CommandType.StoredProcedure;
*I try First : CommandEvent.Parameters.Add("@date", datetime);
*I try Secound: CommandEvent.Parameters.Add("@date", SqlDbType.DateTime,
8).Value = datetime;
and have some storeprocedure with this code
CREATE PROCEDURE dbo.spAddEvents
(
@guid uniqueidentifier,
@language char (2),
@date as datetime,
@eventId as varchar (50),
@userid as varchar (20)
)
AS
execute('insert into tblEvents'+@language+'( guid, [date], [id], userid)
values('''+@guid+''','''+@date+''','+@eventId+','''+@userId+''')')
GO
The problem is when I try to insert a new event. The event insert are fine,
but the datetime's secound in tblEvents always is 00, and I check the
datetime variable to insert and have secound different that 00.
the table definition is Data Type: datetime and Length: 8, how must be?
I run Profiler and a I get this:
exec spAddEvents @Guid = 'C879D062-C268-4A3E-8D58-1937B7612EC2', @language = N'ES', @date = 'May 6 2004 11:29:58:140PM', @eventId = 6, @userid = N'anibal'
Best regards.
Owen.
View 1 Replies
View Related
Jun 10, 2006
Hi,I'm new to SQL Server (Express) and I wonder if there is a way that I can format a date's appearance in the database, that is, the format of the datetime column.
When I view a date in VWD Express, it's in my country's format (2006-11-24 for example) but when I try to insert a date using the same format using a web form, the inserted date in the database becomes 1905-06-something. This happens regardless of whether I'm inserting a string or if the string has been converted to a date via CDate.
So, is there a way I can set the database's date format? And why is it wrong anyway? It's bugging me as the original (Swedish) date is already in the ISO format that SQL Server seems to use (such as yyyy-mm-dd), and I'm using localhost with Windows set to Swedish, IE 6 set to Swedish, and even web.config's UICulture and Culture to Swedish as well.
Of course, I can rearrange the order of the date's numbers to get proper values in the db, but it seems as an unnecessary step and I can't figure out what format to use anyway.
All help is very welcome.
Pettrer
View 6 Replies
View Related
Jun 24, 2002
Hi There,
I'm in a learning phase of SQL server 7. I need your help for the following:
I am selecting from a dropdown list Month ('January, february,..... but not as '01', '02'..) and Year (2000, 2001.....), when they are selected a table is displayed for next 12 months starting from the selected month (like say, if April and 2002 was selected, my other table will show Apr. 02 - Mar. 03 ), and data is inserted into it manually.
My question is How to insert this date into the sql database...as I just need the month and the year.....and in sql server the date datatype is "datetime", also i have only one column for this month and year....should i change my tables and make different columns for Month and Year. Can only Month (Januray, february.....) and Year (2000, 2001...) be inserted.
View 1 Replies
View Related
May 30, 2007
Dear Folks,
how can i know the datetime format of my current session? and is it possible to change that to required format permanently for that particular database?
thank you very much
View 3 Replies
View Related
Dec 1, 2007
What is the easy way to get the below data and Time Format.
11/14/2007 3:51:49 PM
Thanks
Venu
View 15 Replies
View Related
May 22, 2007
In SQL query I have to find records which occour between two dates. I created Select query with two parameters @date1 and @date2 in clasue WHERE. But problem is with date format of my parameters. This format is to long. I dont wont to use time part of these parameters only date part is needed. When I put two identical dates my query doesn't find any data because both dates are eg. 2007-05-22 00:00:00. But I need data for all this day. How to correct this problem? Regards Pawel.
View 2 Replies
View Related
May 12, 2008
Hi, I have a SQL Express 2005 db, with the following format for the datetime vales: dd/mm/yyyy, and if the day or the month has only one digit, it'll be completed with a zero(ie 09/03/2007). The problem is that I sent a backup(.bak file) of it to other people, but they see the date as mm/dd/yyyy and the dates are not completed with zeroes(ie 5/5/2007). How can we both have the same format? Any ideas? Thanks a lot.
View 2 Replies
View Related
Apr 12, 2000
I'm still having a problem inserting date fields into sql server.
I don't understand how it accepts datetime.
I have all of my date columns defined with datetime format and all of the dates are coming out as the default of: 01/01/1900.
I tried to insert the data as string and sql server doesn't understand that format.
Here's some of the code:
We're going from flat VSAM files to an sql server database.
This is one huge sql insert statement with about 75 fields being loaded into a table so I'll only post one the date fields.
Here's where I call the String functions from:
First, I have to uncomp the field from binary to String:
ls_sdate = Right$(CompToStr(bufMast.Name_Chg_Date), 8)
And then I send this string to my Convert_Date function:
lsDet1 = Trim$(lsDet1) & Convert_Date(ls_sdate) & ","
(lsDet1 is a concatenated String of the SQL Values to be inserted)
And Here are the two functions:
The date field is coming in like: 1991112 where if the first character is a 1, the year is 1900 and if the first character is a 0, the year is 2000.
I get correct fields in my message box like 1996/12/31 but then I don't know what sql server does to it in datetime format.
When I check the database table it looks like: 01/12/1900
Maybe there is something wrong with my Convert_Date function;
__________________________________________________ ____________
Public Function CompToStr(aCompdata() As Byte) As String
'This is one way in which you can unpack a comp field. As I mentioned,
'you might be better off designing a flexible class to do the
'conversions. At minimum, this function should be expanded to
'accept a data picture as a param (decimal placement and so on).
Dim lsRtnStr As String
Dim lsHoldStr As String
Dim llCount As Long
For llCount = 1 To (UBound(aCompdata) + 1) Step 1 'loop thru the passed array.
lsHoldStr = Hex(aCompdata(llCount - 1)) 'Convert the byte to a Hex string.
If Len(Trim$(lsHoldStr)) = 1 Then 'if the highorder nibble was 0
lsHoldStr = "0" & Trim$(lsHoldStr) 'pad it with a leading zero.
End If
lsRtnStr = lsRtnStr & lsHoldStr 'Concat it to the return string.
lsHoldStr = "" 'clear the var for the next pass.
Next
lsRtnStr = Replace$(lsRtnStr, "C", " ") 'Positive sign replacement.
lsRtnStr = Replace$(lsRtnStr, "D", "-") 'Negative sign replacement.
lsRtnStr = Replace$(lsRtnStr, "F", " ") 'Unsigned - implicit positive.
lsRtnStr = Trim$(lsRtnStr)
llCount = 0
llCount = InStr(1, lsRtnStr, "-")
If llCount > 0 Then
lsRtnStr = Right$(lsRtnStr, 1) & Left$(lsRtnStr, (Len(lsRtnStr) - 1))
End If
CompToStr = lsRtnStr 'Return the hex string.
End Function
__________________________________________________ ___________________
Public Function Convert_Date(ByRef ls_sdate As String) As String
'incoming date
Dim ls_scent
, ls_smonth, ls_sday, ls_syear As String
ls_scent = Left(ls_sdate, 1)
ls_syear = Mid(ls_sdate, 2, 2)
ls_smonth = Mid(ls_sdate, 4, 2)
ls_sday = Right(ls_sdate, 2)
If (ls_sday = "00") Then
ls_sdate = "0000"
ElseIf (ls_scent = 0) Then
'ls_sdate = ls_smonth & "/" & ls_sday & "/" & "19" & ls_syear
ls_sdate = "19" & ls_syear & "/" & ls_smonth & "/" & ls_sday
ElseIf (ls_scent = 1) Then
'ls_sdate = ls_smonth & "/" & ls_sday & "/" & "20" & ls_syear
ls_sdate = "20" & ls_syear & "/" & ls_smonth & "/" & ls_sday
End If
Convert_Date = ls_sdate
End Function
__________________________________________________ ____________
View 1 Replies
View Related
Oct 13, 1999
Hi,
I have a table with datetime field in SQL server 7.0
I have inserted values into datetime field
for eg: '10/10/99'
'10/10/99 10:30 AM'
'11/10/99 11:50 PM'
When I view this table from enterprise manager, values are shown exactly
in the same format I have entered.
But, When I run the query from Query Analyzer, It always shows values in the following format '1999-10-10 00:00:00.000'
Is there a way that I can see the values in the same format I have entered.
Help !!!
Thanks
View 1 Replies
View Related
Jun 22, 2004
Hi,
I have a datetime field that store data in format like this following format:
2003-05-25 13:01:39.400
How can I change the format of the of the datetime to 13:01:39.400 only.
Thanks
View 1 Replies
View Related
Sep 11, 2004
Hello, everyone:
My table has a column that is DATETIME data type. The original format likes "1/21/2004". I want to check data lengh. However when I read the data by SELECT, SQL Server change the format to "Jan.-21-2004" automatically. Does any one has an idea to keep original datetime format? Thanks.
ZYT
View 1 Replies
View Related
Feb 15, 2005
Is there any standard function for inserting datetime values to an sql table. I'm having a problem because some operating systems are in english and some operating systemes are in spanish.. When I insert a value '2005-02-15 12:00:00' it works on the english operating system, but it doesn't in the spanish one... any ideas?
View 11 Replies
View Related
Apr 9, 2008
Hello
I'm hoping someone can help explain why when i select timestamp field
2008-03-25 18:57:39.000 the view result changes to
04-04-2008 11:12:01 AM.
I need result of view to be in same format as table.
Thanks
Fred
Fred
View 17 Replies
View Related
Apr 6, 2007
On displaying data in the gridview with sqldatasource in asp.net C# 2005 on the datetime datatype field i want to display only the date but it displays the time also on each and every row.
On the money datatype field i want to display the roundoff amount or with decimal upto 2places like 12,000.00 which is shown as 12,000.0000...
I have seen the same question in previous topic also but don't got it so asking in my post...
Pls tell me some format to avoid this invalid data.
Thanxs in advance and waiting for ur response.
View 3 Replies
View Related
May 31, 2007
how to change datetime format.
i want to store datetime in my table as yyyy-mm-dd.
can it be done??
View 3 Replies
View Related
Mar 6, 2008
I need to insert a user_date_time_created field in the formatuser_name + date_time_created where the date_time_created isn't one ofthe standard formats but is yyyymmddhhnnss. I can get most of the waythere using CONVERT, but I can't stop e.g. 080705 hrs (8 hrs, 7minutes and 5 seconds) on March 6, 2008 being returned as20080306875 instead of20080306080705.How can I get those zeroes back in there?--Regards.Richard.
View 2 Replies
View Related
Aug 8, 2007
I have a column in a database set as a DATETIME datatype, when I select it, I want to return it as:
mm/dd/yyyy hh:mm am or pm.
How in the world can I do this? I looked at the function CONVERT() and it doesnt seem to have this format as a valid type. This is causing me to lose my hair, in MySQL it is just so much easier. .
At any rate, currently when I select the value without any convert() it returns as:
June 1 2007 12:23AM
Which is close, but I want it as:
06/01/2007 12:23AM
Thanks!
View 11 Replies
View Related
Oct 1, 2007
HI friends,
Using SmallDateTime in SQL Table, how can I enforce M/DD/YY format on column of type smalldatetime in SQL ServerDB.
What happening is that SQL convert this to YYYY-MM-DD, when my DTS package brings data to table?
Note : output of DTS package is MM/DD/YY format.
Thanks,
View 5 Replies
View Related