- 締切済み
関数の戻り値の確認について
accessで関数を使用していました sqlserverでのスカラ値関数を設定しましたが戻り値を確認したいのですがprintを記述すると関数の中では使用できませんとエラーになってしまいます?戻り値を確認する方法はないでしょうか じつは下記ストアドから関数を呼び出して結果をテーブルにインサートすると小数点以下のデータが消えています?そこで戻り値が正しいか確認したいのです。accessの場合には少数以下正常に出ます なにかprgの記述がまちがっているのでしょうかご指導おねがいします ----INSERT INTO ストアド----Sum(dbo.scfc_残業時間([残業H])) AS 残業Z----GROUP BY ****---- ------スカラ値関数---dbo.scfc_残業時間---------------------------- set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER FUNCTION [dbo].[scfc_残業時間] ( @ZAN nvarchar(5)) RETURNS real AS BEGIN DECLARE @ZANGYOU int DECLARE @ZANGYOU_H real if (not(@ZAN is null)) if len(@ZAN)= 4 SET @ZANGYOU = convert(int,LEFT(@ZAN,1))*60 + convert(int,substring(@ZAN,3,2))*1 ELSE SET @ZANGYOU = convert(int,LEFT(@ZAN,2))*60 + convert(int,substring(@ZAN,4,2))*1 ELSE SET @ZANGYOU= 0 IF @ZANGYOU > 0 SET @ZANGYOU_H = floor(@ZANGYOU/60*10000)/10000 RETURN @ZANGYOU_H END
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- khazad-lefty
- ベストアンサー率44% (296/668)
print 1/60 print cast(1 as real)/60 のちがいかと。 「暗黙の変換」でBOOKSONLINEを検索するとそのあたり出てくるかと思います。
お礼
ありがとうございました 今日いろいろやってみてintをrealに変更したら小数点まででるようになりました 戻り値のほうはご指摘のようにprint記述してみます