Reputation: 181
I have a datetime column that I need to display in the following format:
YYYY/MM/DD 00:00:00:000
With CONVERT
, I can't find any suitable styles.
The /
in the format is really important as it needs to be compared with a VARCHAR
column that has text YYYY/MM/DD 00:00
as part of the description like below:
If I can find a way/style then I can use a SUBSTRING function to compare it to the value below:
Diary item added for : 2013/08/20 14:12
I have had a look at:
But, I can't find any sufficient styles that has / 's. Only -'s.
Upvotes: 3
Views: 11869
Reputation: 1722
Well you can convert both Dates in any format before you compare the two just use any of these: run this and you can select from them, make sure to convert both dates before Comparing
Select
convert(varchar, GetDate(), 100) as '100 Conversion',
convert(varchar, GetDate(), 101) as '101 Conversion',
convert(varchar, GetDate(), 102) as '102 Conversion',
convert(varchar, GetDate(), 103) as '103 Conversion',
convert(varchar, GetDate(), 104) as '104 Conversion',
convert(varchar, GetDate(), 105) as '105 Conversion',
convert(varchar, GetDate(), 106) as '106 Conversion',
convert(varchar, GetDate(), 107) as '107 Conversion',
convert(varchar, GetDate(), 108) as '108 Conversion',
convert(varchar, GetDate(), 109) as '109 Conversion',
convert(varchar, GetDate(), 110) as '110 Conversion',
convert(varchar, GetDate(), 111) as '111 Conversion',
convert(varchar, GetDate(), 112) as '112 Conversion',
convert(varchar, GetDate(), 113) as '113 Conversion',
convert(varchar, GetDate(), 114) as '114 Conversion',
convert(varchar, GetDate(), 120) as '120 Conversion',
convert(varchar, GetDate(), 121) as '121 Conversion',
convert(varchar, GetDate(), 126) as '126 Conversion',
convert(varchar, GetDate(), 130) as '130 Conversion',
convert(varchar, GetDate(), 131) as '131 Conversion'
Or Use this
select REPLACE(convert(varchar, GetDate(), 121),'-','/')
Upvotes: 3
Reputation: 58441
You can use the style that most closely resembles what you want to compare on and use REPLACE
to replace the -
with \
.
SELECT REPLACE(CONVERT(<yourstyle>),'-','/');
Edit Cudo's to @bluefeet
SELECT REPLACE(CONVERT(varchar(23), yourdate, 121),'-','/');
From Technet: Cast and Convert
21 or 121 (2) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
Upvotes: 5
Reputation: 1026
Why cant you do the reverse. Convert the varchar column to date instead of converting date to varchar
Upvotes: 2