-1
votes

Requête de conversion

J'ai une table avec 2 colonnes xxx

J'ai besoin de convertir en temps comment faire

Je l'ai converti aussi Varcharne puis essayé de convertir au fil du temps mais n'a pas fonctionné

Nom de la table: DateTime_table

table

Entrez l'image Description ici


3 commentaires

Quelle base de données utilisez-vous (E.G. MySQL, SQL Server, Oracle, Postgres, DB2)? "SQL" est juste une langue, pas un produit réel.


J'utilise SQL Server


Par intérêt, pourquoi stockeriez-vous l'heure dans une colonne numérique mais la minute dans une colonne textuelle?


4 Réponses :


0
votes

Si vous utilisez SQL Server 2012+, vous pouvez essayer d'utiliser Timefromptarts () CODE> Fonction pour renvoyer une valeur de temps entièrement initialisée:

Données: P>

TimeValue   ConvertValue
09:45:00    9:45:00AM
12:01:00    12:01:00PM
23:18:00    11:18:00PM


0 commentaires

0
votes

Essayez comme ci-dessous

SELECT 
CONVERT(varchar, DATEADD(s, start_hr * 60*60+start_min*60, 0), 108) 
from   table_name


0 commentaires

1
votes

Pour y parvenir, vous pouvez:

  1. concaténer les colonnes séparées dans une chaîne qui ressemble à une heure
  2. Convertissez la chaîne en un Time
  3. convertir le temps à un varchar dans le format souhaité
  4. Coupez l'espace de tête qui est ajouté

    Le code est le suivant: xxx

    cette sortie: xxx

    Si vous êtes désespéré de se débarrasser des secondes Vous devez ajouter une cinquième étape:

    1. extraire les parties de la chaîne de sortie que vous voulez

      le code pour cela un peu plus: xxx

      sortie: xxx


0 commentaires

1
votes

Votre requête peut être comme ci-dessous: xxx

résultat de la vérification ici: SQLFIDDLE


0 commentaires