Exctract info from a date

I'm very used to the MySQL and PHP environment, but recently, I started a new job where MSSQL is the norm. I'm currently trying to figure out if there is a function similar to MySQL's date_format or PHP's date. I need to extract the month and year number from a date. For example, if I'm given Jan 2008, I would like to obtain 1-2008. Thanks!
horaliaAsked:
Who is Participating?
 
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
in mssql server, you have the function DATEPART() which will be very helpful...
CAST(DATEPART(month, yourfield) AS VARCHAR(2)) + '-' + CAST(DATEPART(year, yourfield) as varchar(4))


you could consider checking out the CONVERT() function, it has also some interesting things...

CONVERT(VARCHAR(10), yourdatefield, 120)

will return YYYY-MM-DD formatted date string value for example
0
 
Anthony PerkinsCommented:
Select CAST(DATEPART(Month, YourDate) as varchar(2)) + '-' + CAST(DATEPART(year, YourDate) as char(4))
0
 
wizengamotCommented:
The best solution would be to use the Year, Month and Day Functions.  Lets say I have a field called currentDate in my database and want to return it in the format you specified 1-2008.  Here is the code that would do that.  The cast function is required because you are building a string and values that come out of the Month,Day and Year functions are numbers and do not work well with the + operator unless casted.
SELECT currentDate, Cast(Month(currentDate) As Varchar) + '-' + Cast(Year(currentDate) As Varchar) As "NewDate" FROM myTable

Open in new window

0
 
horaliaAuthor Commented:
Excellent, fast and accurate!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.