Bảng định dạng chuỗi f python

FM loại bỏ các số 0 ở đầu và các khoảng trống ở cuối mà nếu không sẽ được thêm vào để làm cho đầu ra của một mẫu có chiều rộng cố định. Trong PostgreSQL, FM chỉ sửa đổi thông số kỹ thuật tiếp theo, trong khi ở Oracle, FM ảnh hưởng đến tất cả các thông số kỹ thuật tiếp theo và các công cụ sửa đổi FM lặp đi lặp lại bật và tắt chế độ điền

  • TM loại bỏ các khoảng trống ở cuối cho dù có chỉ định FM hay không

  • to_timestampto_date bỏ qua trường hợp chữ cái trong đầu vào; . Khi sử dụng công cụ sửa đổi TM, việc sắp xếp trường hợp được thực hiện theo quy tắc đối chiếu đầu vào của hàm [xem Phần 24. 2]

  • to_timestampto_date bỏ qua nhiều khoảng trống ở đầu chuỗi nhập và xung quanh các giá trị ngày và giờ trừ khi sử dụng tùy chọn FM4. Ví dụ: FM5 và FM6 hoạt động, nhưng FM7 trả về lỗi vì to_timestamp chỉ mong đợi một khoảng trắng. FM4 phải được chỉ định là mục đầu tiên trong mẫu

  • Dấu phân cách [dấu cách hoặc ký tự không phải chữ cái/không phải chữ số] trong chuỗi mẫu của to_timestampto_date khớp với bất kỳ dấu phân cách đơn lẻ nào trong chuỗi đầu vào hoặc bị bỏ qua, trừ khi tùy chọn FM4 được sử dụng. Ví dụ: FM3 và FM4 hoạt động, nhưng FM5 trả về lỗi vì số lượng dấu phân cách trong chuỗi đầu vào vượt quá số lượng dấu phân cách trong mẫu

    Nếu FM4 được chỉ định, dấu tách trong chuỗi mẫu khớp chính xác với một ký tự trong chuỗi đầu vào. Nhưng lưu ý rằng ký tự chuỗi đầu vào không bắt buộc phải giống với dấu phân cách từ chuỗi mẫu. Ví dụ: FM7 hoạt động, nhưng FM8 trả về lỗi vì khoảng trắng thứ hai trong chuỗi mẫu tiêu thụ chữ cái FM9 từ chuỗi đầu vào

  • Mẫu mẫu FM0 có thể khớp với số đã ký. Nếu không có tùy chọn FM4, dấu trừ có thể không rõ ràng và có thể được hiểu là dấu phân cách. Sự mơ hồ này được giải quyết như sau. Nếu số lượng dấu phân cách trước FM0 trong chuỗi mẫu ít hơn số lượng dấu phân cách trước dấu trừ trong chuỗi đầu vào, thì dấu trừ được hiểu là một phần của FM0. Mặt khác, dấu trừ được coi là dấu phân cách giữa các giá trị. Ví dụ: FM4 khớp với FM5 đến FM0, nhưng FM7 khớp với FM8 đến FM0

  • Văn bản thông thường được cho phép trong các mẫu TM0 và sẽ được xuất ra theo nghĩa đen. Bạn có thể đặt một chuỗi con trong dấu ngoặc kép để buộc nó được hiểu là văn bản chữ ngay cả khi nó chứa các mẫu mẫu. Ví dụ: trong TM1, TM2 sẽ được thay thế bằng dữ liệu năm, nhưng một TM3 trong TM4 sẽ không được. Trong to_date, TM6 và to_timestamp, văn bản bằng chữ và chuỗi trích dẫn kép dẫn đến việc bỏ qua số lượng ký tự có trong chuỗi;

    Mẹo

    Trước PostgreSQL 12, có thể bỏ qua văn bản tùy ý trong chuỗi đầu vào bằng các ký tự không phải chữ cái hoặc không phải chữ số. Ví dụ, FM0 được sử dụng để làm việc. Bây giờ bạn chỉ có thể sử dụng các ký tự chữ cái cho mục đích này. Ví dụ: FM1 và FM2 bỏ qua FM3, FM4 và FM5

  • Nếu bạn muốn có một trích dẫn kép trong đầu ra, bạn phải đặt trước nó một dấu gạch chéo ngược, ví dụ: FM6. Dấu gạch chéo ngược không có gì đặc biệt ngoài chuỗi trích dẫn kép. Trong một chuỗi có dấu ngoặc kép, dấu gạch chéo ngược làm cho ký tự tiếp theo được hiểu theo nghĩa đen, bất kể đó là gì [nhưng điều này không có tác dụng đặc biệt trừ khi ký tự tiếp theo là dấu ngoặc kép hoặc dấu gạch chéo ngược khác]

  • Trong ________ và ________ 7, đặc tả định dạng của năm ít hơn bốn chữ số, e. g. , FM9 và năm được cung cấp nhỏ hơn bốn chữ số, năm sẽ được điều chỉnh gần nhất với năm 2020, e. g. , to_timestamp0 trở thành 1995

  • Trong to_timestampto_date, năm âm được coi là biểu thị trước Công nguyên. Nếu bạn viết cả năm âm và trường to_timestamp3 rõ ràng, bạn lại nhận được AD. Đầu vào của năm 0 được coi là 1 TCN

  • Trong to_timestampto_date, chuyển đổi TM2 có hạn chế khi xử lý năm có nhiều hơn 4 chữ số. Bạn phải sử dụng một số ký tự hoặc mẫu không phải chữ số sau TM2, nếu không thì năm luôn được hiểu là 4 chữ số. Ví dụ [với năm 20000]. to_timestamp8 sẽ được hiểu là năm có 4 chữ số;

  • Trong to_timestampto_date, trường to_date3 [thế kỷ] được chấp nhận nhưng bị bỏ qua nếu có trường FM9, TM2 hoặc to_date6. Nếu to_date3 được sử dụng với to_date8 hoặc TM3 thì kết quả được tính là năm đó trong thế kỷ đã chỉ định. Nếu thế kỷ được chỉ định nhưng năm không được chỉ định, năm đầu tiên của thế kỷ được giả định

  • Trong to_timestampto_date, tên hoặc số ngày trong tuần [MON2, MON3 và các loại trường liên quan] được chấp nhận nhưng bị bỏ qua vì mục đích tính toán kết quả. Điều này cũng đúng với các trường phần tư [______84]

  • Trong to_timestampto_date, ngày đánh số tuần theo tiêu chuẩn ISO 8601 [khác với ngày Gregorian] có thể được chỉ định theo một trong hai cách

    • Năm, số tuần và ngày trong tuần. ví dụ MON7 trả về ngày MON8. Nếu bạn bỏ qua ngày trong tuần, nó được coi là 1 [Thứ Hai]

    • Năm và ngày trong năm. ví dụ MON9 cũng trả về MON8

    Cố gắng nhập một ngày bằng cách sử dụng kết hợp các trường đánh số tuần theo tiêu chuẩn ISO 8601 và các trường ngày Gregorian là vô nghĩa và sẽ gây ra lỗi. Trong ngữ cảnh của năm đánh số theo tuần theo tiêu chuẩn ISO 8601, khái niệm “tháng” hoặc “ngày trong tháng” không có ý nghĩa gì. Trong bối cảnh của một năm Gregorian, tuần ISO không có ý nghĩa

    thận trọng

    Mặc dù to_date sẽ từ chối hỗn hợp các trường ngày đánh số theo tuần của Gregorian và ISO, nhưng TM0 sẽ không, vì các thông số định dạng đầu ra như Mon3 có thể hữu ích. Nhưng tránh viết những thứ như Mon4; . [Xem Phần 9. 9. 1 để biết thêm thông tin. ]

  • Trong trường to_timestamp, mili giây [Mon6] hoặc micro giây [Mon7] được sử dụng làm chữ số giây sau dấu thập phân. Ví dụ: Mon8 không phải là 3 mili giây mà là 300, vì chuyển đổi coi nó là 12 + 0. 3 giây. Vì vậy, đối với định dạng Mon9, các giá trị đầu vào FM00, FM01 và FM02 chỉ định cùng một số mili giây. Để có ba phần nghìn giây, người ta phải viết FM03, chuyển đổi coi là 12 + 0. 003 = 12. 003 giây

    Đây là một ví dụ phức tạp hơn. FM04 là 15 giờ, 12 phút và 2 giây + 20 mili giây + 1230 micro giây = 2. 021230 giây

  • Đánh số ngày trong tuần của FM05 khớp với hàm FM06, nhưng của FM07 không khớp với đánh số ngày của FM08

  • Định dạng FM09 FM10 và FM11 như được hiển thị trên đồng hồ 12 giờ, ví dụ: 0 giờ và 36 giờ đều xuất ra dưới dạng FM12, trong khi FM13 xuất ra giá trị giờ đầy đủ, có thể vượt quá 23 trong giá trị FM14

  • Chủ Đề