0

int と ntext の 2 つのフィールドがあります。int フィールドから ntext フィールドを減算する必要があります。私は int フィールドである Hours_Current を 60 で割っています。これをしばらくデバッグしたところ、最初の CAST が機能し、意図したとおりに 60 で除算されていることが確認できました。次に、nText フィールドを float に変換し、時間から時間を引きます。DB の Time フィールドには、数値 (必要なもの) のエントリとテキスト (不要) のエントリがあります。

SELECT
CAST(SUM(Hours_Current) AS FLOAT)/60 AS 'Current Hours'
CONVERT(FLOAT, CONVERT(VARCHAR(MAX), ObjField)) AS 'Time',
'Time' - 'Current Hours' AS DIFF

これを達成するために、数え切れないほどのさまざまな方法を試しました。ほとんどの場合、「オペランド データ型 varchar は減算演算子に対して無効です」というメッセージが表示されます。私の最終的な目標は、これをレポートで使用することです。また、DIFF を取り出し、SSRS 式を使用して 2 つのフィールドを減算しようとすると、レポートに #Error が表示されます。

このリンクを見て試してみましたが、うまくいかないようです。私は何度もオンラインで調べましたが、ntext がどのように減価償却されているかについて話したいと思っている記事をいくつか見つけました。残念ながら、DB スキーマを変更することはできません。何か案は?

また、varchar の代わりに nvarchar を使用しようとしました。

4

1 に答える 1