ฉันจะกำหนดรูปแบบเวลาวันที่ที่กำหนดเองใน Oracle SQL Developer ได้อย่างไร


198

โดยค่าเริ่มต้น Oracle SQL 15-NOV-11แสดงนักพัฒนาวันที่เป็นค่า ฉันต้องการดูส่วนเวลา (ชั่วโมง / นาที / วินาที) ตามค่าเริ่มต้น

มีวิธีกำหนดค่านี้ใน Oracle SQL Developer หรือไม่


ฉันมีปัญหากับเรื่องนี้มาก่อน ฉันสามารถแก้ไขเซสชันได้ แต่เมื่อฉันปิด SQL Developer จากนั้นรีสตาร์ทอีกครั้งฉันจะสูญเสียการตั้งค่า ดังนั้นวิธีแก้ปัญหาที่ฉันสามารถให้นี้ไม่ได้ถาวร
Brett Walker

คุณสามารถเพิ่มคำตอบได้ไหม? @BrettWalker มันดีกว่าไม่มีอะไร
สบายมากกด

5
ช่างเป็นค่าเริ่มต้นที่ไร้สาระสำหรับประเภทข้อมูลที่เรียกว่า "DATE" ซึ่งจะเก็บความแม่นยำไว้ที่สอง นี่ต้องเสียเวลาไปกับคนเยอะมาก
WW

คำตอบ:


398

คุณสามารถเปลี่ยนแปลงสิ่งนี้ได้ในการตั้งค่า:

  1. จาก Oracle SQL Developer เมนูไปที่: เครื่องมือ > การตั้งค่า
  2. จากกล่องโต้ตอบการตั้งค่าเลือกฐานข้อมูล > NLSจากแผงด้านซ้าย
  3. จากรายการพารามิเตอร์ NLS ให้ป้อนDD-MON-RR HH24:MI:SSลงในฟิลด์รูปแบบวันที่
  4. บันทึกและปิดกล่องโต้ตอบเสร็จสิ้น!

นี่คือภาพหน้าจอ:

การเปลี่ยนการตั้งค่ารูปแบบวันที่ใน Oracle SQL Developer


1
ฉันใช้ SQLDeveloper บน linux และการตั้งค่านี้ไม่ทำงานสำหรับฉัน .. วิธีอื่นใด?
Filipe

3
ไม่ว่าฉันจะใส่รูปแบบใดมันก็จะถูกเพิกเฉย ฉันเห็นสิ่งนี้ได้รับการสร้างขึ้นใน sql: to_date ('02 -OCT-14 ',' YYYY-MM-DD ') ดังนั้นตอนนี้ sql ของฉันก็เรียบง่าย
James Watkins

รูปแบบนี้ใช้งานไม่ได้สำหรับฉันอาจเป็นเพราะความแตกต่างของสถานที่แพลตฟอร์ม ... ดูคำตอบของฉันหากรูปแบบนี้ใช้ไม่ได้
Donatello

2
การตั้งค่านี้ถูกเก็บไว้ที่ไหน? ใน DB หรือ SQL Developer?
ชุดเครื่องมือ

44

ฉันสะดุดกับโพสต์นี้ในขณะที่พยายามเปลี่ยนรูปแบบการแสดงผลสำหรับวันที่ในผู้พัฒนา sql แค่อยากจะเพิ่มสิ่งนี้สิ่งที่ฉันค้นพบ:

  • ในการเปลี่ยนรูปแบบการแสดงผลเริ่มต้นฉันจะใช้ขั้นตอนที่จัดเตรียมโดย ousoo เช่นเครื่องมือ> การตั้งค่า> ...
  • แต่หลายครั้งฉันต้องการเก็บ DEFAULT_FORMAT ในขณะที่แก้ไขรูปแบบเฉพาะระหว่างการสืบค้นที่เกี่ยวข้องจำนวนมาก นั่นคือเมื่อฉันจะเปลี่ยนรูปแบบของเซสชั่นด้วยต่อไปนี้:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

เช่น:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 

26

ด้วย Oracle SQL Developer 3.2.20.09 ฉันจัดการเพื่อกำหนดรูปแบบที่กำหนดเองสำหรับประเภท DATE ด้วยวิธีนี้:

ใน: เครื่องมือ> การตั้งค่า> ฐานข้อมูล> NLS

หรือ: Outils> Préférences> Base de donées> NLS

YYYY-MM-DD HH24: MI: SS

ภาพหน้าจอเมนูการตั้งค่า

โปรดทราบว่ารูปแบบต่อไปนี้ใช้ไม่ได้สำหรับฉัน:

DD-MON-RR HH24: MI: SS

เป็นผลให้มันเก็บรูปแบบเริ่มต้นโดยไม่มีข้อผิดพลาดใด ๆ


3

สำหรับทุกคนที่ยังมีปัญหากับสิ่งนี้; ฉันพบหน้านี้จาก Google ...

ใส่ไว้ในแบบนี้ (พารามิเตอร์ NLS) ... มันติดสำหรับฉันใน SQLDeveloper v3.0.04:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 

เป็นสิ่งสำคัญที่จะต้องทราบว่าโทเค็นรูปแบบ 'AM' จะถูกลบออกสำหรับรูปแบบ 24 ชั่วโมง หากใช้ทั้งโทเค็น 'AM' และ 'HH24' แล้ว 'AM' จะแทนที่ 'HH24'
คอว์

2

ในกรณีของฉันรูปแบบที่กำหนดในการตั้งค่า / ฐานข้อมูล / NLS คือ [รูปแบบวันที่] = RRRR-MM-DD HH24: MI: SSXFF แต่ในกริดนั้นมีรูปแบบเริ่มต้นที่เห็น 8 รูปแบบอาจเป็นไปได้ RRRR / MM / DD (แม้ไม่มีเวลา) เปลี่ยนหลังจากเปลี่ยนการตั้งค่า [รูปแบบวันที่] เป็น: RRRR-MM-DD HH24: MI: SS (ไม่มี 'XFF' ที่ส่วนท้าย)

ไม่มีข้อผิดพลาด แต่การจัดรูปแบบด้วย xff ในตอนท้ายไม่ทำงาน

หมายเหตุ: ในสัญลักษณ์ขัด RRRR หมายถึง YYYY


2
TL; DR: ไม่มี 'XFF' ในตอนท้าย
Robert Andrzejuk

ใน Oracle วันที่ไม่มีส่วนที่เป็นเศษส่วน การประทับเวลาทำ ดังนั้นออราเคิลจึงพยายามช่วยเหลือคุณโดยไม่ให้คุณระบุสิ่งที่ไม่สามารถทำได้
Roy Latham

0

เมื่อฉันคัดลอกรูปแบบวันที่สำหรับประทับเวลาและใช้รูปแบบวันที่มันไม่ทำงาน แต่การเปลี่ยนรูปแบบวันที่เป็น (DD-MON-YY HH12: MI: SS AM) ได้ผลสำหรับฉัน

การเปลี่ยนแปลงจะต้องทำในเครื่องมือ -> การตั้งค่า -> ค้นหา NLS


0

ไปที่เครื่องมือ> ค่ากำหนด ในแผนผังเลือกฐานข้อมูล> NLS มีรูปแบบวันที่ / เวลาสามรูปแบบ: วันที่, เวลาประทับและ Timestamp TZ การแก้ไขรูปแบบวันที่จะให้เอฟเฟกต์ที่ต้องการ

เหมือนที่ฉันได้กล่าวไว้ข้างต้น วิธีนี้ไม่ได้ทำให้ฉันเปลี่ยนแปลงอย่างถาวร


jsyk, รูปโปรไฟล์ของคุณทำให้ฉันนึกถึง om don corleone (สถานที่ที่ไม่ถูกต้องสำหรับความคิดเห็นดังกล่าว)
Jonathan dos Santos

0

SQL Developer เวอร์ชั่น 4.1.0.19

ขั้นตอนที่ 1: ไปที่เครื่องมือ -> การตั้งค่า

ขั้นตอนที่ 2: เลือกฐานข้อมูล -> NLS

ขั้นตอนที่ 3: ไปที่รูปแบบวันที่และป้อน DD-MON-RR HH24: MI: SS

ขั้นตอนที่ 4: คลิกตกลง


-1

ฉันมีปัญหาที่เกี่ยวข้องซึ่งฉันแก้ไขและต้องการแจ้งให้ผู้คนทราบเกี่ยวกับวิธีแก้ไขปัญหาของฉัน ใช้ SQL Developer ฉันส่งออกจากฐานข้อมูลหนึ่งไปยัง csv จากนั้นพยายามนำเข้าสู่ฐานข้อมูลอื่น ฉันพบข้อผิดพลาดในช่องวันที่ของฉัน ช่องวันที่ของฉันอยู่ในรูปแบบเวลาประทับ:

28-JAN-11 03.25.11.000000000 PM

วิธีแก้ปัญหาข้างต้น (การเปลี่ยนการตั้งค่า NLS) ไม่ได้ผลสำหรับฉันเมื่อฉันนำเข้า แต่ในที่สุดฉันก็สามารถทำงานต่อไปนี้ได้:

ในหน้าจอนิยามตัวช่วยสร้างการนำเข้าคอลัมน์ฉันป้อน " DD-MON-RR HH.MI.SSXFF AM" ในกล่องรูปแบบและนำเข้าได้สำเร็จ น่าเสียดายที่ฉันมีฟิลด์วันที่หลายสิบและความรู้ของฉันไม่มีวิธีที่จะใช้รูปแบบนี้กับทุกฟิลด์วันที่อย่างเป็นระบบดังนั้นฉันจึงต้องทำด้วยตนเอง .... ถอนหายใจ หากใครรู้วิธีที่ดีกว่าฉันยินดีที่จะได้ยินมัน!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.