回答編集履歴
6
推敲
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
日付のうち新しい方を選択する場合に、今日より未来日やNullの場合は除外するとして、除外したい場合を入力範囲外の日付に置き換えます。
|
1
|
+
日付のうち新しい方を選択する場合に、今日より未来日やNullの場合は除外するとして、除外したい場合を入力範囲外の過去の日付に置き換えます。
|
2
2
|
|
3
3
|
新しい方を選択するには[GREATEST](https://www.shift-the-oracle.com/sql/functions/greatest-least.html)を利用します
|
4
4
|
|
5
推敲
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
今日より未来日やNullの場合を入力範囲外の日付に置き換え
|
1
|
+
日付のうち新しい方を選択する場合に、今日より未来日やNullの場合は除外するとして、除外したい場合を入力範囲外の日付に置き換えます。
|
2
2
|
|
3
3
|
新しい方を選択するには[GREATEST](https://www.shift-the-oracle.com/sql/functions/greatest-least.html)を利用します
|
4
4
|
|
4
追記
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
今日より未来日やNullの場合を入力範囲外の日付に置き換えて、そのデータのうち新しい方を選択するようにします。
|
2
|
+
|
3
|
+
新しい方を選択するには[GREATEST](https://www.shift-the-oracle.com/sql/functions/greatest-least.html)を利用します
|
2
4
|
|
3
5
|
```SQL
|
4
6
|
|
3
修正
test
CHANGED
@@ -18,25 +18,17 @@
|
|
18
18
|
|
19
19
|
select cs.*
|
20
20
|
|
21
|
-
, c
|
21
|
+
, case when LICENSEDATE1 >= SYSDATE or LICENSEDATE1 is Null
|
22
22
|
|
23
|
-
|
23
|
+
then to_date('1900/01/01','yyyy/mm/dd') else LICENSEDATE1
|
24
24
|
|
25
|
-
|
25
|
+
end AS EDIT_LICENSEDATE1
|
26
26
|
|
27
|
-
|
27
|
+
, case when LICENSEDATE2 >= SYSDATE or LICENSEDATE2 is null
|
28
28
|
|
29
|
-
)
|
29
|
+
then to_date('1900/01/01','yyyy/mm/dd') else LICENSEDATE2
|
30
30
|
|
31
|
-
, coalesce(
|
32
|
-
|
33
|
-
case when LICENSEDATE2 >= SYSDATE
|
34
|
-
|
35
|
-
then to_date('1900/01/01','yyyy/mm/dd') else LICENSEDATE2 end
|
36
|
-
|
37
|
-
, to_date('1900/01/01','yyyy/mm/dd')
|
38
|
-
|
39
|
-
|
31
|
+
end AS EDIT_LICENSEDATE2
|
40
32
|
|
41
33
|
from COMSTAFF CS
|
42
34
|
|
2
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
今日より未来日の
|
1
|
+
今日より未来日やNullの場合を入力範囲外の日付に置き換えて、そのデータのうち新しい方を選択するようにします。
|
2
2
|
|
3
3
|
```SQL
|
4
4
|
|
1
修正
test
CHANGED
@@ -18,9 +18,25 @@
|
|
18
18
|
|
19
19
|
select cs.*
|
20
20
|
|
21
|
-
, c
|
21
|
+
, coalesce(
|
22
22
|
|
23
|
+
case when LICENSEDATE1 >= SYSDATE
|
24
|
+
|
25
|
+
then to_date('1900/01/01','yyyy/mm/dd') else LICENSEDATE1 end
|
26
|
+
|
27
|
+
, to_date('1900/01/01','yyyy/mm/dd')
|
28
|
+
|
29
|
+
) AS EDIT_LICENSEDATE1
|
30
|
+
|
31
|
+
, coalesce(
|
32
|
+
|
33
|
+
case when LICENSEDATE2 >= SYSDATE
|
34
|
+
|
23
|
-
|
35
|
+
then to_date('1900/01/01','yyyy/mm/dd') else LICENSEDATE2 end
|
36
|
+
|
37
|
+
, to_date('1900/01/01','yyyy/mm/dd')
|
38
|
+
|
39
|
+
) AS EDIT_LICENSEDATE2
|
24
40
|
|
25
41
|
from COMSTAFF CS
|
26
42
|
|