sql >> Databáze >  >> RDS >> Oracle

změnit formát data 'yyyy/mm/dd' na 'mm-dd-yyyy' v Oracle

to_date() vezme váš řetězec parametru, porovná jej s formátem, který zadáte ve druhém parametru, a vytvoří z něj pole data. Pole data nepoužívá formát, který jste zadali ve druhém parametru – ve skutečnosti bude uloženo pomocí nějaké interní reprezentace dat, která nemá vůbec žádný formát (s největší pravděpodobností číslo).

Chcete-li prezentovat formát zpět ve výsledcích z pole data, můžete:

  1. Požádejte klienta provádějícího dotaz, aby nastavil parametry NLS (na úrovni relace), aby poskytl lokalizovaný formát s ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'; prohlášení) nebo
  2. Použijte to_char(..., 'YYYY-MM-DD') kolem vašeho stávajícího pole, abyste změnili datum zpět na řetězec naformátovaný tak, jak ho chcete mít. Kde nahradíte ... s vaší aktuální definicí sloupce ve výběru.

Přístup č. 1 již probíhá, protože již bude existovat sada NLS_DATE_FORMAT, která vytváří aktuální formát, ale je ve formátu, který nechcete, takže pokud jej můžete ovládat a měnit tam, můžete to udělat způsob. Pokud nemůžete a musíte mít formát jediným konzistentním jiným způsobem, pak by mohla být cesta #2.



  1. Zobrazit json v html

  2. Hibernace:duplicitní hodnota klíče porušuje jedinečné omezení

  3. Jak ověřit zálohy MySQL pomocí ClusterControl

  4. použijte proměnnou \set uvnitř deklaračního bloku plpgsql