Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialStephen Funk
Courses Plus Student 2,650 PointsDate Formatting for all date columns
-- The loans table has the following ids columns: id, book_id, patron_id; and the following date columns: loaned_on, return_by, returned_on; -- Format dates in all the loans table in the UK format without the year. For example, April 1st is 01/04.
Steven Parker
231,072 PointsThis might be possible in other database engines, but I don't think SQLite provides a way to customize the default date format. You just use strftime on each column you wish to display in a special format.
3 Answers
Steven Parker
231,072 PointsAre you asking about how to format dates?
There's a function for doing that, called strftime. The first argument is a string that defines the format the date will be displayed with, and the second argument is the date to be formatted.
See the SQLite documentation for a list of the possible formatting codes.
Steven Parker
231,072 PointsYou can have functions on multiple columns, and you can nest functions inside each other (use one as an argument for another) when needed.
Stephen Funk
Courses Plus Student 2,650 PointsAlright it worked. Thank you. I was burnt yesterday when I was trying this.
Stephen Funk
Courses Plus Student 2,650 PointsSELECT STRFTIME("%d/%m", loaned_on) AS uk_loaned_on, STRFTIME("%d/%m", return_by) AS uk_return_by, STRFTIME("%d/%M", returned_on) AS uk_returned_on FROM loans;
I was trying all 3 columns in ONLY one STRFTIME function yesterday. I didn't know you could put in more than one STRFTIME function.
Stephen Funk
Courses Plus Student 2,650 PointsStephen Funk
Courses Plus Student 2,650 PointsMy question is about modifying dates for all columns without using the STRFTIME function which only adds another column.
How would you format dates for all columns without using the STRFTIME column to complete the above objective?