J'ai deux champs, un qui est int et un qui est ntext. J'ai besoin de soustraire le champ ntext du champ int. Im prenant Hours_Current qui est le domaine int et le plongeant de 60. J'ai débogué cela pendant un moment et peut confirmer que le premier CAST fonctionne et diviser par 60 comme prévu. Ensuite, je convertis le champ nText en flottant et en soustrayant le temps des heures. Le champ Heure dans la base de données comporte des entrées qui sont des nombres (ce dont j'ai besoin) et certaines entrées sont du texte (n'ont pas besoin).Conversion SQL NTEXT -> VARCHAR -> FLOAT et faire une différence
SELECT
CAST(SUM(Hours_Current) AS FLOAT)/60 AS 'Current Hours'
CONVERT(FLOAT, CONVERT(VARCHAR(MAX), ObjField)) AS 'Time',
'Time' - 'Current Hours' AS DIFF
J'ai essayé d'innombrables façons d'y parvenir. La majorité du temps, je reçois un "type de données Opérande varchar est invalide pour soustraire l'opérateur". Mon objectif final est d'utiliser ceci dans un rapport. J'ai également supprimé le format DIFF et utilisé l'expression SSRS pour tenter de soustraire les deux champs et obtenir une erreur #Error sur le rapport.
J'ai vu this lien et j'ai essayé mais cela ne semble pas fonctionner. J'ai regardé et regardé en ligne et les quelques articles que j'ai trouvés veulent parler de la façon dont ntext est déprécié. Je ne peux malheureusement pas changer le schéma DB. Des idées?
J'ai également essayé d'utiliser nvarchar au lieu de varchar.
que diriez-vous nous donner quelques exemples de données pour travailler avec – GuidoG