YYYYmmddHHMMSS biçiminde Oracle zaman damgası

Oracle db'de şu formatta zaman damgası var (6/23/2017 12: 00: 00: 0000 AM).

Bunu YYYYmmddHHMMSS biçimine dönüştürmem gerekiyor. Kullanarak dönüştürmeyi denedim

`to_char(time,"YYYYmmddHHMMSS")`

ancak 20170623120600 gibi veriyor. Dakikalar yerine aylar veriyor.

Lütfen önerin.

5

8 cevap

Dakikaları belirtmek için mm yerine MI kullanmanız gerekir, oracle doc arkadaşınız

2
katma

Dakikaları belirtmek için mm yerine MI kullanmanız gerekir, oracle doc arkadaşınız

2
katma

Oracle db'de aşağıdaki biçimde zaman damgam var

Hayır, veri tabanında depolandığı tarih/saat için format yoktur. Gördüğünüz format sadece gösterim içindir.

Dakikalar yerine aylar veriyor.

Açıktır, çünkü MI yerine MM kullandınız.

  • MM size ay numarasını verir
  • MI size zaman içindeki dakikayı verir

öyleyse kullanın:

to_char(time,YYYYMMDDHHMISS)

Örneğin,

SQL> SELECT to_char(SYSDATE,'YYYYMMDDHHMISS') FROM dual;

TO_CHAR(SYSDAT
--------------
20150415050759

SQL>
2
katma

Oracle db'de aşağıdaki biçimde zaman damgam var

Hayır, veri tabanında depolandığı tarih/saat için format yoktur. Gördüğünüz format sadece gösterim içindir.

Dakikalar yerine aylar veriyor.

Açıktır, çünkü MI yerine MM kullandınız.

  • MM size ay numarasını verir
  • MI size zaman içindeki dakikayı verir

öyleyse kullanın:

to_char(time,YYYYMMDDHHMISS)

Örneğin,

SQL> SELECT to_char(SYSDATE,'YYYYMMDDHHMISS') FROM dual;

TO_CHAR(SYSDAT
--------------
20150415050759

SQL>
2
katma

İlk önce dizgiyi TimeStamp'a, sonra da kendi formatınıza dönüştürmelisiniz.
Aşağıdaki gibi deneyebilirsiniz:

Select  
      To_Char(  
             To_TimeStamp('6/23/2017 12:00:00.000000 AM', 'MM/DD/YYYY HH:MI:SS.FF AM'),  
      'YYYYmmddHHMISS')  
from dual;
2
katma
Bir dizge olarak değil, bir zaman damgası sütunu olarak depolanmış gibi görünür, bu yüzden ekstra dönüşümlere gerek yoktur veya her zaman güvenlidir. Varsayılan olarak oturumun NLS_TIMESTAMP_FORMAT ile gösteriliyor.
katma yazar Alex Poole, kaynak

İlk önce dizgiyi TimeStamp'a, sonra da kendi formatınıza dönüştürmelisiniz.
Aşağıdaki gibi deneyebilirsiniz:

Select  
      To_Char(  
             To_TimeStamp('6/23/2017 12:00:00.000000 AM', 'MM/DD/YYYY HH:MI:SS.FF AM'),  
      'YYYYmmddHHMISS')  
from dual;
2
katma
Bir dizge olarak değil, bir zaman damgası sütunu olarak depolanmış gibi görünür, bu yüzden ekstra dönüşümlere gerek yoktur veya her zaman güvenlidir. Varsayılan olarak oturumun NLS_TIMESTAMP_FORMAT ile gösteriliyor.
katma yazar Alex Poole, kaynak

dakikalarca MI vermelisiniz. yani dönüşümünüz böyle olacak

to_char(time,"YYYYmmddHHMISS")`
1
katma

dakikalarca MI vermelisiniz. yani dönüşümünüz böyle olacak

to_char(time,"YYYYmmddHHMISS")`
1
katma