J'utilise daaddd (année, -3, getDate ()) pour tirer les dernières années de données sur une période de roulement. P>
J'ai aussi une colonne appelée année, la vue que je crée utilise la myTable.Year et non l'année du mot clé SQL. P>
E.g Daaddd (myTable.year, -3, getDate ()) p>
Il le résout à chaque fois dans la vue qui est vraiment ennuyeux. Je suis un peu rouillé, je suis sorti de cela pendant environ 4 ans. P>
Comment puis-je vous assurer qu'il utilise l'année "année" du mot clé, je le trouve étrange que cela fait cela. Toute explication à ce sujet serait également utile. SQL Server 2016 P>
Merci gars. P>
Edit: J'ai édité ma notation de schéma mal placée et j'ai identifié le nom de la table, désolé pour la confusion p>
3 Réponses :
Vous pouvez mettre votre table dans une colonne de sous-requête et d'alias [année].
Quelque chose comme (ou utilisez CTE) p> puis une année signifierait que le mot clé. P> p>
Je ne sais pas si je comprends bien correctement, mais que vous souhaitez appliquer le mot clé, vous souhaitez donc soustraire 3 ans à compter de la date actuelle, correct? Cela devrait fonctionner: ou p> (sauf si vous avez des colonnes nommées YY et AAAA; -)) P> Sinon, pardonnez mon malentendu ... p> p>
C'était la solution, merci. Une idée de la raison pour laquelle cela se comporterait de cette manière?
Il semble que votre éditeur ait des problèmes avec le mot-clé Ceci peut être résolu en utilisant Un synonyme de la fonction de mots-clés dans la fonction Daadd. utiliser p> an code> et le remplace par une valeur d'une colonne également appelée
année code>
Donc au lieu de p>
Quelles autres valeurs peuvent être dans cette colonne de la table de l'année?
Ce n'est qu'une valeur de chaîne représentant l'année '2019' et ainsi de suite. La table est une liste des feuilles de temps. Année est un champ dans ladite table
Pouvez-vous nous montrer la requête que vous avez maintenant et la structure de cette année de table?
Je ne sais pas ce que vous êtes réellement après ici. Le premier paramètre de
daadd code> ne peut pas être un nom de colonne, il doit être l'une des périodes de périodes définies ICI . Les échantillons de données et des résultats attendus seront vraiment utiles.
Oui je comprends. Je sais que j'ai besoin d'utiliser où table.dbo.date> daadd (année, -3, getDate ())
Donc, vous voulez quelque chose comme
daadd ('2019', -3, getdate ()) code>? Cela ne fonctionnera pas, vous devez transmettre un dayspart comme une année ou un mois, ou jour ou ...
table.dbo.date code> n'a aucun sens.
DBO CODE> est un schéma, de sorte qu'il va avant i> le nom de la table. En utilisant le nom du schéma lorsque vous référencez une colonne dans une requête est désexcitée cependant. Sauf si
date code> est le nom d'une table code> code>, ce qui implique que vous avez une base de données appelée
table code> ???
La table appelée feuilles de temps, a un domaine appelé année. La vue modifie automatiquement l'année de la "année" SQL, utilisée à la date Ajouter une fonction, pour être le champ TimerS.Year, j'essaie de forcer le mot-clé dans la fonction mais la vue est stupide. Est-ce un bogue ou un problème de configuration
pourquoi ne vous montrez pas la vue et la structure de la table, peut-être que nous ferions mieux de comprendre ce que vous voulez dire
"Mais la vue est stupide" I> Je ne pense pas que ce soit, d'être honnête. Ce que tu dis n'a de sens. Vous voulez faire
daadd (table.dbo.year, -3, getdate (getdate ())) CODE> Mais on dirait que vous essayez d'utiliser la table
date code> dans le Base de données
Table code> en tant que 1er argument pour
daadd code>. L'utilisation d'une table pour le remplacement d'une valeur de période définie n'a aucun sens. Les valeurs de la première dispute sont clairement définies et vous ne pouvez certainement pas passer un objet de table pour cela.
Je comprends comment fonctionne la fonction, je n'ai aucune aide avec mon schéma de schéma. Je sais que j'ai besoin d'utiliser l'année "année", ma requête est 'Où Timeeshets.date> daadd (année, -3, getDate ())' mais quand j'ajoute le mot-clé "Année" dans la fonction Daadd tout en créant la vue , il semble la résoudre immédiatement à utiliser les feuilles de temps de temps. Fielyear à l'intérieur de la fonction, qui n'est pas autorisé, je comprends
pourquoi ne vous montrez pas la vue et la structure de la table, peut-être que nous ferions mieux de comprendre ce que vous voulez dire
C'est certainement rien à voir avec du moteur de recherche, ou comment la requête - Demo db <> Fiddle < / a>. Ce que vous décrivez des sons comme quelque chose qui se passe avec Intellisense dans votre IDE. Quel est l'EDI utilisez-vous?
Si votre éditeur a des problèmes avec le mot-clé
année code> alors essayez
Sélectionnez DateAdd (yy, -3, getDate ()) code> au lieu de
Sélectionnez DateAdd (année, -3 , getDate ()) code>
Merci oui, vous obtenez ce que je veux dire, je n'aide personne avec ma pauvre explication. Je cherche un moyen de «année» mais que vous utilisez YY. Merci. J'utilise SSMS 2016, je pensais peut-être que la question de l'IDE Je voulais le faire arrondir.
Utiliser «YY» à la place de la "année" fixe le problème pour moi. Doit être une question IDE à ma fin, si ennuyeux
Ok content que nous ayons eu ce tri. La prochaine fois que vous poserez une question, donnez autant d'informations que possible qui aideront à obtenir des réponses plus faciles
Vous pouvez toujours répondre à votre propre question, expliquer pourquoi vous avez ceci et ce qui le corrige. Cela pourrait aider les futurs utilisateurs de manière à ce que le même problème
@Guido, vous avez répondu en premier. S'il vous plaît ajoutez-le et vous obtenez les drots
Ok je viens de poster une réponse
Plutôt que des images, incluez le code. Ces images sont beaucoup trop petites pour que je puisse lire le SQL.
Ils sont clairs à ma fin, ils ont été réduits de résolution lorsque j'ai intégré les images - désolé