J'essaie de générer la valeur de la période de paie basée sur la date actuelle. Lorsque j'ai couru la requête ci-dessous, il retourne une période de paie correcte, mais j'ai eu une rangée null supplémentaire. Comment puis-je me débarrasser de Null Row? Retourne actuellement: P> 1 null
2 18
3 Réponses :
Déplacez le boîtier code> logique sur un i supprimé le Notez que vous devez stocker des dates à l'aide d'un type de données de date / heure appropriés, pas comme des chaînes. Si vous avez fait cela, l'étape de conversion serait inutile. P> p> où code> clause: sélectionnez distinct code>. Vous n'avez pas d'échantillons de vos données, il n'est donc pas clair si cela est nécessaire. Si vous pouvez l'ajouter à. P>
Vous devez utiliser un aussi, il n'a pas de sens de faire correspondre les cordes vides simplement pour les remplacer par des chaînes vides Encore une fois, j'ai changé où code> conditionner les lignes filtrantes: * code> sur + code> dans votre regex. p> p>
Merci pour votre point sur Regexp. Je ne voulais pas utiliser où, mais je vais utiliser votre solution. Votre réponse résout mon problème.
Dans votre requête, vous définissez uniquement le cas pour les enregistrements appartenant à- En conséquence, tous les enregistrements hors de cette plage de date renvoient null comme vous ne définissez rien de quoi La date est hors de cette gamme. Vous pouvez définir une autre partie pour l'enregistrement en dehors de cette plage de date. Le script peut être aussi ci-dessous - p> si vous ajoutez la condition de filtrage de la date dans la clause, le script doit être aussi ci-dessous - P> SELECT
DISTINCT CAST(regexp_replace(itc_pp, '[^0-9]*', '', 'g') AS INTEGER) - 1 current_pp
FROM actacc.payperiod_conversion_all_years
WHERE current_date >= to_date(begin_payperiod_date, 'mm/dd/yy')
AND current_date < to_date(end_payperiod_date, 'mm/dd/yy');
Mon exigence est juste de renvoyer les rangées qui répond à la condition. Je ne pense pas que je puisse utiliser étui et "ne rien faire" (sautez les rangées si NULL) en autre. Je suppose que je dois utiliser où
Oui, utilisez ensuite où et ce cas, aucune utilisation n'est nécessaire.
Non liée, mais: jamais b> Valeurs de la date de stockage dans un
varchar code> (outexte code>). Utilisez toujours une date code> de la colonne code>. Et pourquoi stockez-vous des chiffres dans une colonneVarchar code> aussi? Ce sont deux très mauvais choix de conception.