Oracle
 sql >> база данни >  >> RDS >> Oracle

Преобразуване на дата в низ от Oracle

Данните в COL1 са в дд-пн-гг

Не, не е. A DATE колонане имат всякакъв формат. Преобразува се (неявно) в това представяне от вашия SQL клиент само когато го покажете.

Ако COL1 наистина е DATE колона с помощта на to_date() върху него е безполезен, защото to_date() преобразува низ в DATE.

Трябва само to_char(), нищо друго:

SELECT TO_CHAR(col1, 'mm/dd/yyyy') 
FROM TABLE1

Това, което се случва във вашия случай, е извикването на to_date() преобразува DATE в символна стойност (прилагайки NLS формат по подразбиране) и след това преобразувайки я обратно в ДАТА. Поради това двойно имплицитно преобразуване част от информацията се губи по пътя.

Редактиране

Значи направихте тази голяма грешка да съхраните ДАТА в колона със знаци. И затова сега получавате проблемите.

Най-доброто (и за да бъда честен:единствено разумно) решение е да преобразувате тази колона в DATE . След това можете да конвертирате стойностите във всяко повторно представяне, което искате, без да се притеснявате за имплицитно преобразуване на тип данни.

Но най-вероятно отговорът е „Наследих този модел, трябва да се справя с него " (винаги е така, очевидно никой никога не е отговорен за избора на грешен тип данни), тогава трябва да използвате RR вместо YY :

SELECT TO_CHAR(TO_DATE(COL1,'dd-mm-rr'), 'mm/dd/yyyy')
FROM TABLE1

трябва да свърши работа. Имайте предвид, че също промених mon до mm като вашият пример е 27-11-89 който има число за месеца, а не „дума“ (като NOV )

За повече подробности вижте ръководството:http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm#SQLRF00215



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на примерни схеми за Oracle 12c с помощта на помощника за конфигуриране на база данни

  2. Как да принудим Pascal case с поддръжката на Entity Framework на Oracle?

  3. Как да изтриете ред в oracle

  4. Предайте стойности, прочетени от файл като вход към SQL заявка в Oracle

  5. Механизъм, следван от Oracle, когато правим горещо архивиране