J'ai besoin d'un moyen de mettre à jour la valeur du mois sur un champ dateTime dans ma base de données. Je suis passé une valeur int pour le mois et je dois l'utiliser pour la mise à jour. Est-il possible de faire cela dans l'instruction sql ou est-ce que je ferais mieux de le faire dans C# dans le webservice?Mettre à jour la valeur Month sur datefield dans MS SQL 2005
Répondre
Maj enfoncée, puis à nouveau:
UPDATE table
SET datecol = DATEADD(m, @newmonth, DATEADD(m, -MONTH(datecol), datecol))
WHERE id = @id
ou, plus simplement:
UPDATE table
SET datecol = DATEADD(m, @newmonth - MONTH(datecol), datecol)
WHERE id = @id
Merci, je reçois ce message d'erreur si. La sous-requête a renvoyé plus de 1 valeur. Ceci n'est pas autorisé lorsque la sous-requête suit =,! =, <, <= , >,> = ou lorsque la sous-requête est utilisée comme une expression. La déclaration a été terminée. – user17510
Vous devez poster votre code, ma requête n'a rien à voir avec ça, car elle contient des sous-requêtes. –
C'est ce que j'ai. DECLARE @newMonth int SET @newMonth = 5 MISE À JOUR dbo.tb_bookings SET startDateTime = DATEADD (mois, @newMonth - DATEPART (mois, startDateHeure), startDateTime) WHERE requestPackID = '383'; – user17510
Vous pouvez faire tout cela dans TSQL dans Sql Server. Découvrez les fonctions DateDiff et DateAdd.
Je me attends cela fonctionnerait:
DECLARE @newMonth int
SET @newMonth = 5 --As an example
UPDATE dbo.TheTable
SET DateField = DATEADD(month, @newMonth - DATEPART(month, DateField) , DateField)
Merci cependant j'ai besoin de mettre à jour plusieurs lignes et j'ai des erreurs concernant la sous-requête renvoyant plus d'une valeur. – user17510
Il n'y a pas de sous-requêtes dans cet exemple et cela fonctionnera correctement lors de la mise à jour de plusieurs lignes dans une table. Vous pouvez publier le code spécifique avec lequel vous rencontrez des problèmes. – akmad
- 1. comment mettre à jour la valeur d'un autre TSQL
- 2. DateField obtenant la valeur
- 3. Index varchar sur MS SQL Server 2005
- 4. Alternatives à MS SQL 2005 FullText Catalog
- 5. Comment mettre en cascade PK rename sur la table, MS SQL 2005
- 6. Comment mettre à jour la table d'accès ms
- 7. Mettre à jour la valeur XElement dans XDocument?
- 8. Comment mettre à jour en utilisant la valeur dropdownlist
- 9. Valeur Indexpath.row ne pas mettre à jour
- 10. MS SQL Server 2005 sp_stored_procedures
- 11. Comment rechercher une colonne NTEXT pour les attributs XML et mettre à jour les valeurs? MS SQL 2005
- 12. Mysterious CPU Activity dans MS SQL 2005
- 13. Sauvegarde MS SQL Server 2005?
- 14. Mise à jour de MS SQL vers la sécurité intégrée
- 15. Comment implémenter correctement un trigger dans MS SQL 2005/2008?
- 16. veulent mettre à jour l'application sur l'air
- 17. Comment obtenir l'historique des connexions à MS SQL Server 2005
- 18. Une sauvegarde MS SQL 2005 peut-elle être restaurée sur une instance de MS SQL 2008?
- 19. SQL Server 2005 Express ne peut pas mettre à jour le champ date/heure lorsque Windows est défini sur Italien
- 20. La requête SQL ne parvient pas à se mettre à jour
- 21. valeur mise à jour dans LINQ to SQL IEnumerable
- 22. .NET 1.1 et MS SQL 2005 problème
- 23. Meilleure façon de mettre à jour dans Linq To SQL
- 24. Impossible de mettre à jour View in Linq et Sql 2005 pour fonctionner.
- 25. Split Ms Sql 2005 Table à deux ou plusieurs parties
- 26. mettre à jour la question étrange
- 27. Comment mettre à jour ou sélectionner la même valeur de lignes dans la table?
- 28. Mettre à jour plusieurs lignes dans SQL Server
- 29. Comment apprendre MS SQL Server 2005?
- 30. comment mettre à jour dataGrid dans la base de données
est le nombre entier que vous êtes passé la nouvelle valeur de mois, ou une augmentation? – Dana
S'il vous plaît poster votre code. –