SQL QuestSQL Interview Questions › Date Functions

Tenure in Months (Date Math)

MediumFreeQuerying BasicsDate Functions

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_idnamedepartmentpositionsalaryhire_datemanager_idperformance_rating
1Alice JohnsonEngineeringSenior Developer950002019-03-1554.5
2Bob SmithEngineeringDeveloper750002020-06-0113.8
3Carol WilliamsMarketingMarketing Manager850002018-09-20NULL4.2

Expected output: tenure_months ≈ 48

Hint

CAST((julianday('2026-01-01') - julianday(hire_date)) / 30 AS INTEGER) AS tenure_months. The CAST drops the fractional part; without it you'd get a float.

Concepts

SELECT Date Functions julianday

Practise the topic: SQL practice questions · Date function practice

In these company practice sets

Tesla

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

Employee Tenure BandsMedium · FreeQuarterly Hiring Cohort ReportMedium · FreeCustomer Recency AnalysisMedium · FreeMonthly Order TrendsMedium · FreeDate Functions: How Long Ago?Medium · FreeMonthly Order Volume in 2024Medium · Free

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