FOROS PROFESIONALES
WINDEV
,
WEBDEV
y
WINDEV Mobile
Inicio
|
Mensajes recientes
|
Conéctese...
|
Desconectar
|
Español
Inicio
→
Reports & Queries
→
Requête SQL sous HFSQL avec Date et heure
Requête SQL sous HFSQL avec Date et heure
Iniciado por Josh Fustier, 04,abr. 2023 19:45 - 3 respuestas
Conéctese…
Josh Fustier
#1
Publicado el 04,abril 2023 - 19:45
Bonjour,
Je rencontre un problème assez embêtant au niveau d'une requête SQL avec date et heures.
J'ai une table de ligne de factures "LFACTURE" qui contient X colonnes dont :
- LFDJOU de type Date sur 8 octets
- LFHEURE de type Heure sur 6 octets
Je souhaite récupérer toutes les lignes comprises entre deux dates (pour l'exemple) :
le 01/03/2023 à 17h00 et 0 secondes et le 02/03/2023 à 5h35 et 12 secondes
Actuellement la seule solution fonctionnelle que j'ai trouvé est de concaténer la date et l'heure en une string, voici un exemple.
SELECT LFACTURE
.
LFFFCLEUNIK AS ID
FROM LFACTURE
WHERE CONCAT
(
LFACTURE
.
LFDJOU
,
LFACTURE
.
LFHEURE
)
BETWEEN
'20230301170000'
AND
'20230302053512'
Seulement cette solution est peu performante à cause du CONCAT
De plus, impossible de passé directement une date formaté ISO. Je ne comprends pas pourquoi d'ailleurs.
Même mon nouvel ami ChatGPT est incapable de me donner une solution correcte..
Est-ce que l'un de vous aurai une idée de comment optimiser / corriger cette requête ?
Et par la même occasion m'expliquer pourquoi est-ce si compliquer de faire des opérations sur des dates avec HFSQL
PS: contrainte supplémentaire, je ne peux pas modifier la base de données : ajouter des index, modifier des types, etc...
Merci d'avance
Informar
0
0
NadSoftware
#2
Miembro registrado
114 mensajes
Popularité : +1 (1 vote)
Publicado el 07,abril 2023 - 12:42
Bonjour,
Un truc comme ça, ça irait mieux en vitesse ?
Dans un case
Prendre celles du 1er jour si supérieures à une heure
Prendre celles > 1er jour and < denier jour
Prendre celles du dernier jour si inférieures à une heure
Informar
0
0
JCF
#3
Miembro registrado
187 mensajes
Publicado el 16,mayo 2023 - 10:06
Bonjour
Avez vous pensé à utiliser des clés composées dans votre fichier, que vous employez ensuite dans votre requête ?
Cordialement
Jean-Claude FLAJOULOT
Informar
0
0
ALEX CARRY
#4
Publicado el 05,julio 2023 - 13:52
Bonjour,
Je comprends que vous rencontrez des difficultés avec une requête SQL impliquant des dates et des heures, et que vous souhaitez récupérer les lignes comprises entre deux dates précises. Je vais vous proposer une alternative à votre requête actuelle en utilisant des opérations sur les dates.
SELECT LFACTURE.LFFFCLEUNIK AS ID
FROM LFACTURE
WHERE LFACTURE.LFDJOU + LFACTURE.LFHEURE BETWEEN '2023-03-01T17:00:00' AND '2023-03-02T05:35:12'
Cette requête utilise l'opération d'addition pour concaténer la date et l'heure. Les valeurs de type Date et Heure sont simplement ajoutées, ce qui permet de comparer les résultats directement avec des dates au format ISO ('YYYY-MM-DDTHH:MM:SS'). Assurez-vous que les formats de date et d'heure dans votre base de données correspondent à ce format ISO pour que la comparaison fonctionne correctement.
En ce qui concerne la complexité des opérations sur les dates avec HFSQL, cela peut varier en fonction des limitations ou des particularités du système de gestion de base de données que vous utilisez. Certaines bases de données offrent des fonctions et des opérateurs plus avancés pour manipuler les dates, mais HFSQL peut avoir ses propres limitations ou exigences.
Si vous ne pouvez pas modifier la base de données pour améliorer les performances ou apporter des modifications au schéma, il est recommandé de travailler avec les fonctionnalités et les opérateurs disponibles dans HFSQL pour obtenir les résultats souhaités.
J'espère que cette alternative à votre requête actuelle vous sera utile. Si vous avez d'autres questions, n'hésitez pas à demander.
Informar
0
0
→ Volver a Reports & Queries
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (versiones precedentes)
WEBDEV (versiones precedentes)
WINDEV Mobile (versiones precedentes)
Reports & Queries
Irrelevante
Herramientas
Français
English
Español
Portuguesa
Fermer cette fenêtre
Búsqueda Tipo
Sólo temas
Todos los mensajes
Periodo Buscar
Cualquier fecha
Última hora
Última 24 horas
Última semana
Último mes
Último año
Cancelar
Vista previa del mensaje
Añadiendo una imagen
Importar una imagen desde una URL
Enviar una imagen desde un archivo de su disco
Arrastrar un archivo o click en "Examinar..."
o
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto