Cadena de fecha y hora con conversión AM / PM a DateTime en Clickhouse

JustinD

Tengo problemas para convertir las cadenas con DateTimeinformación en formato AM / PM.
Obtengo el mismo resultado para las 12:10 a.m. y las 12:10 p.m., aunque deberían ser diferentes.
Aparte de 12: xx: xx AM funciona bien.

¿Estoy haciendo algo mal aquí?

select 
    parseDateTimeBestEffort('2020-01-01 12:10:00 AM'),
    parseDateTimeBestEffort('2020-01-01 12:10:00 PM') 

Resultado:

2020-01-01 12:10:00
2020-01-01 12:10:00

Vladimir

Desafortunadamente, es la especificidad de la implementación actual. Revisemos el código fuente:

parseDateTimeBestEffort.h

AM / PM - AM se ignora y PM significa: agregue 12 horas si el valor es menor que 12.

(ver parseDateTimeBestEffort.cpp )


Creé el error # 18402 parseDateTimeBestEffort no debe ignorar la abreviatura de AM para la hora 12 .


Como solución alternativa, sugeriría de esta manera:

SELECT
    str,
    parseDateTimeBestEffort(str) AS dt,
    if((toHour(dt) = 12) AND (str ILIKE '% am'), subtractHours(dt, 12), dt) AS fixed_dt
FROM 
(
    SELECT '2020-02-01 12:10:00 AM' AS str
    UNION ALL
    SELECT '2020-02-01 12:10:00 am'
    UNION ALL
    SELECT '2020-02-01 12:10:00 Am'
    UNION ALL
    SELECT '2020-02-01 12:10:00 aM'
    UNION ALL
    SELECT '2020-02-01 12:10:00 PM'
)
ORDER BY fixed_dt

/*
┌─str────────────────────┬──────────────────dt─┬────────────fixed_dt─┐
│ 2020-02-01 12:10:00 AM │ 2020-02-01 12:10:00 │ 2020-02-01 00:10:00 │
│ 2020-02-01 12:10:00 am │ 2020-02-01 12:10:00 │ 2020-02-01 00:10:00 │
│ 2020-02-01 12:10:00 Am │ 2020-02-01 12:10:00 │ 2020-02-01 00:10:00 │
│ 2020-02-01 12:10:00 aM │ 2020-02-01 12:10:00 │ 2020-02-01 00:10:00 │
│ 2020-02-01 12:10:00 PM │ 2020-02-01 12:10:00 │ 2020-02-01 12:10:00 │
└────────────────────────┴─────────────────────┴─────────────────────┘

*/

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Conversión de objeto con AM / PM a fecha y hora en horas redondeadas

Conversión de cadena en objeto de fecha y hora

Problemas con la conversión de fecha y hora a cadena en Django

Conversión de cadena en fecha y hora

Conversión de cadena a fecha y hora en SQL Server

Conversión de cadena de fecha y hora a fecha y hora en numpy (python)

Conversión de cadenas con decimales en fecha y hora

Conversión de la representación de cadena especificada de una fecha y hora en su equivalente DateTime

Conversión de una cadena de consulta de MongoDB con campo de fecha y hora en Dict en Python

conversión de fecha y hora de cadena con microsegundos a objeto de fecha

Conversión de cadena a fecha y fecha y hora

Conversión de una cadena a fecha Java en formato de fecha y hora ISO 8601

Conversión de hora a horas y minutos con am y pm

Conversión de hora a horas y minutos con am y pm

Conversión de cadena a fecha y hora con milisegundos y zona horaria - Python

Conversión de cadena con desplazamiento UTC a un objeto de fecha y hora

Conversión de cadena de caracteres a fecha y hora con strftime

convertir cadena a fecha y hora como formato am / pm

Conversión de cadena con formato dd / mm / aaaa a fecha y hora

La conversión de cadena a fecha y hora funciona con seleccionar pero no actualizar (T-SQL)

Conversión de cadena en DateTime AM PM para insertar en la tabla de SQL Server

Conversión de cadena a fecha y hora: especifica el año en la fecha de fecha y mes

Error de conversión de cadena a fecha y hora en SQL Server en Consulta dinámica

Conversión de fecha y hora con reconocimiento de zona horaria a hora local en Python

Cadena de Python a conversión de fecha y hora

Conversión de una cadena de tiempo Unicode en un objeto de fecha y hora

Restar fecha y hora en formato de cadena con formato de fecha y hora

R: Conversión de una cadena en valores útiles de fecha y hora

Conversión de cadena a objeto de fecha y hora en pandas

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  3. 3

    uitableview delete button image in iOS

  4. 4

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  5. 5

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  6. 6

    caída condicional de filas desde un marco de datos de pandas

  7. 7

    Link library in Visual Studio, why two different ways?

  8. 8

    Pagination class not getting applied in html

  9. 9

    Que signifie Decimal (-1)?

  10. 10

    UIButton textLabel with different fonts

  11. 11

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  12. 12

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  13. 13

    matplotlib로 그래프를 그리는 동안 커서 위치에서 날짜 / 시간을 볼 수 없습니다. "DateFormatter에서 x = 0 값을 찾았습니다"라는 오류가 발생합니다.

  14. 14

    ¿Es posible en Windows evitar que otras aplicaciones se enganchen en las DLL del sistema?

  15. 15

    Error de la base de datos de Android Firebase: Permiso denegado al depurar en un teléfono

  16. 16

    Pandas: suma filas de DataFrame para columnas dadas

  17. 17

    ggplot2: gráfico con líneas y puntos para problemas de leyenda de dos conjuntos de datos

  18. 18

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  19. 19

    Recherche de la position d'index d'une valeur dans r dataframe

  20. 20

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  21. 21

    nested observables executed one after the other after termination

CalienteEtiquetas

Archivo