Итак, я узнаю о TSQL и получил задание сделать приложение, которое содержит сведения о некоторых сериях фильмов. Одна из вещей, которые я хотел бы добавить к готовому продукту, - это DATEDIFF, где у меня есть дата рождения главного актера и дата премьеры фильма, но хотелось бы вернуть возраст актера во время Премьеры.Использование значений таблицы в функции DATEDIFF
Мой вопрос: КАК Я задаю даты, учитывая инструкцию DATEDIFF, если эти даты уже существуют в таблице?
Примеры таблиц.
Бонд
BondID FirstName LastName Birthdate
1 Sean Connery 8/25/1930
2 George Lazenby 9/5/1939
3 Roger Moore 10/14/1927
4 Timothy Dalton 3/21/1946
5 Pierce Brosnan 5/16/1953
6 Daniel Craig 3/2/1968
Film
ID BondID FilmTitle Premiere
1 1 Dr. No 1963-05-08
2 1 From Russia With Love 1974-04-08
3 1 Goldfinger 1964-12-22
4 1 Thunderball 1965-12-29
Вот что я имею в настоящее время.
SELECT b.Birthdate, f.Premiere, b.FirstName, b.LastName, f.FilmTitle
FROM Bond b INNER JOIN FilmID f ON b.BondID = f.BondID
WHERE b.BondID = 1
SELECT DATEDIFF(YEAR, GETDATE(), GETDATE()) AS "YearDif"
WHERE GETDATE() = Bond.Birthdate AND GETDATE() = f.Premiere
данных
Birthdate Premiere FirstName LastName FilmTitle
1 1930-08-25 1963-05-08 Sean Connery Dr. No
2 1930-08-25 1974-04-08 Sean Connery From Russia With Love
3 1930-08-25 1964-12-22 Sean Connery Goldfinger
4 1930-08-25 1965-12-29 Sean Connery Thunderball
Я хотел бы добавить столбец, который гласит, возраст актера во время премьеры ... Я думаю, что есть ручка на том, что один ... Но ...
Я получаю, что вторая часть части DATEDIFF не верна, но как сообщить DATEDIFF, где получить значения даты?
Любая помощь будет интересной!
Возможно, вам необходимо прочитать о GETDATE (). Он возвращает текущее системное время. Это означает, что ваш DATEDIFF ВСЕГДА вернет 0. И я просто предположим, что у вас нет значения для Birthdate of Premiere, которое соответствовало бы точному системному времени. В вашем случае это будет что-то вроде DATEDIFF (Year, Bond.Birthdate, f.Premiere). Следует отметить, что DATEDIFF подсчитывает количество скрещенных порогов. Это не говорит вам, сколько лет с этой даты. –