Oracle SQL Developerで、勤務時間外(午前8時〜午後5時)にない時間を返すクエリを作成しようとしています。 列の名前はauction_timeです。問題は、テーブルに200万行と、 '9:45am'、 '9am'、'11:00:00 '、'23:00'などの形式の形式が含まれていることです。 私は好きなように試しましたが、他のタイプの結果も返します。 select * from all_foreclosures auction_timeは'17% 'から'24%'までです。 お手伝いできますか?あなたは、異なるフォーマットに一致するようにCASE
文と、複数の正規表現を使用することができます無効な時間の検索方法
0
A
答えて
0
(あなたはすべての異なるフォーマットを指定する必要があります):
SELECT *
FROM (
SELECT t.*,
(CASE
WHEN REGEXP_LIKE(auction_time, '^\s*(0?[1-9]|1[0-2])\s*[ap]m\s*$', 'i')
THEN TO_DATE(auction_time, 'HH12AM')
WHEN REGEXP_LIKE(auction_time, '^\s*(0?[1-9]|1[0-2]):[0-5]?\d\s*[ap]m\s*$','i')
THEN TO_DATE(auction_time, 'HH12:MIAM')
WHEN REGEXP_LIKE(auction_time, '^\s*([01]?\d|2[0-3]):[0-5]?\d\s*$')
THEN TO_DATE(auction_time, 'HH24:MI')
WHEN REGEXP_LIKE(auction_time, '^\s*([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d\s*$')
THEN TO_DATE(auction_time, 'HH24:MI:SS')
END
- TRUNC(SYSDATE, 'Y')
) * 24 AS Hours
FROM your_table t
)
WHERE hours < 8 OR hours > 17
+0
ありがとう、上記のクエリは非常に良いです開始。 – Nucu
関連する問題
- 1. ffmpeg - 無効な時間
- 2. Laravel検索フォームの無効なルート
- 3. PostgreSQL - 無効なテキスト値の検索JSON
- 4. Active Directory内の無効な検索フィルタ
- 5. インデックスの効率的な検索方法
- 6. Excel - シート間でデータを検索する効率的な方法
- 7. ハッシュテーブル検索時間
- 8. YouTube API無効な検索クエリinvalidSearchFilterエラー
- 9. mongodbテキスト検索:無効な演算子:$検索
- 10. 組み込みの検索ダイアログを無効にする方法
- 11. Zendをオーバーライド/無効にする方法デフォルトのパス検索
- 12. 検索バーのEnterキーを無効にする方法
- 13. 2sxc:インデックスの検索を無効にする方法
- 14. Androidで「GPSの検索」通知を無効にする方法
- 15. postgresql検索期間からの検索期間からの検索方法
- 16. エバーでドロップダウンと検索を無効にする方法
- 17. hibernate検索でdynamicBoostを無効にする方法
- 18. UISearchDisplayController - 自動検索を無効にする方法
- 19. Algoliaでの所要時間の検索方法
- 20. 検索時のハイライト時間の変更
- 21. データ型smalldatetimeの表示時間を無効にする方法
- 22. cassandraクエリ応答時間の検索方法は?
- 23. スプレイツリー最悪検索時間
- 24. Wordpressの - を無効に検索機能
- 25. Magentoの検索結果が無効
- 26. 検索可能なアクティビティを無効にする方法はありますか?
- 27. システム時間を無効にする方法
- 28. 制限時間内にアップロードを無効にする方法
- 29. カテゴリー別の検索場所が無効です。無効なカテゴリIDエラー
- 30. haystack-solrで検索時間を取得する方法
フィールドのレイアウトは何ですか? nvarchar、datetime、varchar、...? – Svekke
VARCHAR2(16バイト) – Nucu
残念ながら、これは、列自体には直接的なフォーマットが使用されていないため、ほとんど不可能なようです。 – Svekke