Sen (bu yuvarlak en yakın ikinci olacak) hiçbir fraksiyonel saniye kala bir zaman damgası yayınlayabilmek için ya:
CAST(your_timestamp AS TIMESTAMP(0))
Veya DATE
veri türüne
(bu en yakın ikinci keser): bir veri türü olarak isterseniz
CAST(your_timestamp AS DATE)
sonra geri dökme:
CAST(CAST(your_timestamp AS DATE) AS TIMESTAMP(0))
Yoksa biçimlendirilmiş bir dizeye dönüştürmek ve (bu en yakın ikinci keser) kullanmak istediğiniz biçim modelini belirtebilirsiniz: Bunun gibi
TO_CHAR(your_timestamp, 'YYYY-MM-DD HH24:MI:SS')
:
SQL Fiddle
Oracle 11g R2, Şema Kurulum:
CREATE TABLE your_table (your_timestamp) AS
SELECT TIMESTAMP '2017-10-25 12:53:12.10076' FROM DUAL;
Sorgu 1:
SELECT CAST(your_timestamp AS TIMESTAMP(0)) AS "Timestamp",
CAST(your_timestamp AS DATE) AS "Date",
TO_CHAR(your_timestamp, 'DD-MM-YYYY HH24:MI:SS') AS "String"
FROM your_table
Results:
| Timestamp | Date | String |
|-----------------------|----------------------|---------------------|
| 2017-10-25 12:53:12.0 | 2017-10-25T12:53:12Z | 25-10-2017 12:53:12 |
not: TIMESTAMP
ve DATE
çıktıda biçimlendirilir nasıl NLS_TIMESTAMP_FORMAT
ve NLS_DATE_FORMAT
seans parametrelerine bağlı olacaktır ama doğrudan can Bir biçim modeli belirttiğinizde TO_CHAR
formatlamasını kontrol edin.
bu, ancak bir zaman damgası (0) olmak için dosyalanan gerekir. Kodunuzu çalıştırdığımda AM/PM'yi kaybederim ve zaman GMT formatını kaybeder. Bir zaman damgasına dönüştürülebilir mi (0)? Daha sonra AM/PM ile 12 saat formatına ihtiyacınız varsa – user3022875
çalışabilir, ancak ikinci sorguyu – HaveNoDisplayName
kullanın ancak bu hala bir CHAR'dır. Zaman damgasına ihtiyacım var (0). mümkün mü? – user3022875