0

簡単なクエリの後...

SELECT Col_ID, datetime1, datetime2, datetime3 
FROM TABLE_DATETIME 
WHERE datetime1 LIKE '20130805%'
    OR datetime2 LIKE '20130805%' 
    OR datetime3 LIKE '20130805%'

...私はこのシナリオを持っています

Col_ID    |datetime1     |datetime2     |datetime3     |
----------|--------------|--------------|--------------|
40302025  |20130805123022|NULL          |NULL          |
40302028  |20130805180055|NULL          |NULL          |
40302030  |NULL          |20130805090055|NULL          |
40302055  |NULL          |20130805190055|NULL          |
40302074  |NULL          |NULL          |20130805070055|

今、同じ前のクエリで、datetime1、datetime2、datetime3 を「ALL_DATETIME」と呼ぶ 1 つの列にマージし、これによって順序付けして、この結果を得たいと考えています...

Col_ID    |ALL_DATETIME  |
----------|--------------|
40302074  |20130805070055|
40302030  |20130805090055|
40302025  |20130805123022|
40302028  |20130805180055|
40302055  |20130805190055|
4

3 に答える 3

0

NULLハンドリング機能を利用する

SELECT Col_ID, ifnull(datetime1, ifnull(datetime2, datetime3 )) as ALL_DATETIME 
FROM TABLE_DATETIME 
WHERE datetime1 LIKE '20130805%'
OR datetime2 LIKE '20130805%' 
OR datetime3 LIKE '20130805%'
order by 2
于 2013-08-05T10:55:43.427 に答える
0

これを試して

SELECT Col_ID, greatest (coalesce(datetime1,0), coalesce(datetime2,0),coalesce( datetime3,0) ) alldatetime
FROM TABLE_DATETIME 
WHERE datetime1 LIKE '20130805%'
OR datetime2 LIKE '20130805%' 
OR datetime3 LIKE '20130805%'

デモはこちら

于 2013-08-05T10:57:33.503 に答える