SQL Quest › SQL Interview Questions › Date Functions
Tenure in Months (Date Math)
A comp planning cycle dated 2026-01-01 wants every employee's tenure in whole months for vest-cliff and equity refresh decisions.
Show name, hire_date, and tenure_months (integer number of months between hire_date and 2026-01-01). Order by tenure_months descending.
Formula: CAST((julianday('2026-01-01') - julianday(hire_date)) / 30 AS INTEGER). julianday() returns a continuous-day number, so subtracting two of them gives days; dividing by 30 approximates months. (Production code usually uses a calendar-aware function, but 30-day months are the standard for tenure dashboards.)
Solve it in the browser editor →
Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".
Schema
employees
| emp_id | name | department | position | salary | hire_date | manager_id | performance_rating |
|---|---|---|---|---|---|---|---|
| 1 | Alice Johnson | Engineering | Senior Developer | 95000 | 2019-03-15 | 5 | 4.5 |
| 2 | Bob Smith | Engineering | Developer | 75000 | 2020-06-01 | 1 | 3.8 |
| 3 | Carol Williams | Marketing | Marketing Manager | 85000 | 2018-09-20 | NULL | 4.2 |
Expected output: tenure_months ≈ 48
Hint
Concepts
SELECT Date Functions julianday
Practise the topic: SQL practice questions · Date function practice
In these company practice sets
A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.
Related questions
Where would this cost you points in an interview?
Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.
Take the readiness test