Je travaille sur un jeu de données contenant des accidents de la voiture et de leur temps d'occurrence. (Le jeu de données existe dans SQL Server sous le nom Accident Strong>). J'ai une colonne qui est dans la date Différentes périodes d'éclairage (jour: 6h00 - 17h59 et nuit de 18h à 17h59). P>
blockQuote> [1] D'abord j'ai écrit ce code pour extraire le temps de date code>. Je voudrais extraire le temps de la colonne. Ajoutez ensuite une nouvelle colonne appelée
Lighting_period Code> Étiquetez l'heure en tant que
accident_date_time Code> et stockez-le dans une nouvelle colonne
heure p>
time lightining_label
06:04AM daytime
11:04AM daytime
01:04AM (null)
10:04AM daytime
10:04AM daytime
04:04PM (null)
07:04PM daytime
01:04PM (null)
3 Réponses :
On dirait que la colonne code> code> utilise un type de chaîne ( Vous pouvez utiliser les éléments suivants en utilisant varchar code>,
nvarchar code>) au lieu de
heure code> . Donc, vous comparez les valeurs de chaîne au lieu de valeurs de temps.
convert code>
pour comparer les valeurs de chaîne telles que les valeurs de temps: p> UPDATE lightiningPeriod
SET lightining_label = CASE WHEN CONVERT(TIME, [time]) BETWEEN CONVERT(TIME, '06:00AM') AND CONVERT(TIME, '5:59PM') THEN 'daytime' ELSE 'nighttime' END
J'ai commis une erreur avec le titre. Je travaille sur SQL Developer Not Server.
C'est une modifie de la réponse de Sebastian. Dans SQL Server, vous pouvez utiliser une colonne calculée: puis l'étiquette est calculée lorsque vous interrogez la table, il est donc toujours correct. P> P>
désolé j'ai mis le mauvais titre. J'utilise SQL Developer. Pouvez-vous s'il vous plaît modifier votre réponse pour travailler sur SQL Developer? Merci
@leena. . . Demandez une nouvelle question et étiquetez-la de manière appropriée. Cette question a déjà plusieurs réponses et la modification de la question ou des tags invaliderait les réponses.
Merci à tous, j'ai résolu la requête en faisant ceci:
to_char? c'est oracle n'est-ce pas?
"J'ai une colonne qui est au format de date. J'aimerais extraire le temps de la colonne" - cela n'a aucun sens, j'ai peur.
On dirait que vous faites un texte en comparaison de texte plutôt que de temps en temps?
La colonne d'origine est au format de date. J'utilise TO_CHAR pour extraire l'heure.
Tocar et Varchar2 ne sont pas SQL Server - corrigez vos tags. L'utilisation des mauvaises ne fera que la recherche d'une solution plus longue et trompeuse. Supprimé SQL Server et ajouté Oracle, mais vous pouvez utiliser quelque chose d'autre
Désolé mon mauvais développeur SQL