0

フィールドが次の従業員テーブルがあります。

first_name, last_name, hire_date, salary, department_id, department_name、 等々。

、、、などの採用日の違いを探すつもりEMPLOYEE1 and EMPLOYEE2ですEMPLOYEE2 and EMPLOYEE3

従業員の名と雇用日の違いを表示するには、SQLでクエリを作成する必要があります

4

3 に答える 3

1

DATEDIFFを使用して、日付の差を計算できます。例えば

SELECT DATEDIFF(SELECT DATE_ADD(start_date,INTERVAL 1 DAY),end_date);

それがあなたを助けることを願っています

関数の使い方もありto_daysます。詳細については、ここをクリックしてください

于 2013-01-26T15:07:05.957 に答える
1

使用しているRDBMSについてはまだ言及していないので、SQL-Serverから始めます。

WITH x 
     AS (SELECT first_name, 
                last_name, 
                hire_date, 
                salary, 
                department_id, 
                department_name, 
                hireNum=Row_number() 
                          OVER( 
                            ORDER BY hire_date) 
         FROM   dbo.employee) 
SELECT DiffDays=Datediff(day, x.hire_date, x2.hire_date),
       first_name, 
       last_name, 
       hire_date, 
       salary, 
       department_id, 
       department_name 
FROM   x 
       INNER JOIN x x2 
               ON x.hirenum = x2.hirenum + 1 
于 2013-01-26T15:18:55.090 に答える
1

日を使用して Microsoft SQL 2012 の日付の違いを見つけるには (日を年、時間などに置き換えます):

Select datediff(day, HireDate, EndDate) 
From Employee1
于 2014-10-24T13:20:01.353 に答える