bonjour je suis débutant sur SQL server 2012
Lorsque j'ai exécuté ma requête j'ai un message : Error message : divide by zero error encountered
C'est un problème au niveau de la formule "fnCP"

voici la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT dbo.ViewDLG_Aggregate.DLG_BHD_BTCH_BatchID_value, dbo.ViewDLG_Aggregate.StartTime, dbo.ViewDLG_Aggregate.EndTime, dbo.ViewDLG_Aggregate.TotalLength, 
                  dbo.ViewDLG_Aggregate.MinDLG_CTRL_COLD_DiameterPVXY, dbo.ViewDLG_Aggregate.MaxDLG_CTRL_COLD_DiameterPVXY, 
                  dbo.ViewDLG_Aggregate.AvgDLG_CTRL_COLD_DiameterPVXY, dbo.ViewDLG_Aggregate.StdevDLG_CTRL_COLD_DiameterPVXY, 
                  dbo.ViewDLG_Aggregate.MinDLG_CTRL_COLD_OvalityPV, dbo.ViewDLG_Aggregate.MaxDLG_CTRL_COLD_OvalityPV, 
                  dbo.ViewDLG_Aggregate.AvgDLG_CTRL_COLD_OvalityPV, dbo.ViewDLG_Aggregate.StdevDLG_CTRL_COLD_OvalityPV, dbo.BHD.BHD_BHD_BTCH_BatchID_value, 
                  dbo.BHD.BHD_BHD_BTCH_PresetLength_value, dbo.BHD.BHD_BHD_BTCH_RecipeName_value, dbo.BHD.BHD_BHD_BTCH_StatisticsON_value, 
                  dbo.BHD.BHD_CTRL_COLD_DiameterLSL_value, dbo.BHD.BHD_CTRL_COLD_DiameterSP_value, dbo.BHD.BHD_CTRL_COLD_DiameterUSL_value, 
                  dbo.BHD.BHD_CTRL_COLD_OvalityUSL_value, dbo.fnCp(dbo.BHD.BHD_CTRL_COLD_DiameterUSL_value, dbo.BHD.BHD_CTRL_COLD_DiameterLSL_value, 
                  dbo.ViewDLG_Aggregate.StdevDLG_CTRL_COLD_DiameterPVXY) AS Cp_COLD_Diameter, dbo.fnCpK(dbo.BHD.BHD_CTRL_COLD_DiameterUSL_value, 
                  dbo.BHD.BHD_CTRL_COLD_DiameterLSL_value, dbo.ViewDLG_Aggregate.AvgDLG_CTRL_COLD_DiameterPVXY, 
                  dbo.ViewDLG_Aggregate.StdevDLG_CTRL_COLD_DiameterPVXY) AS CpK_COLD_Diameter
FROM     dbo.BHD INNER JOIN
                  dbo.ViewDLG_Aggregate ON dbo.BHD.BHD_BHD_BTCH_BatchID_value = dbo.ViewDLG_Aggregate.DLG_BHD_BTCH_BatchID_value
voici la formule :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
USE [Dexline_10]
GO
/****** Object:  UserDefinedFunction [dbo].[fnCp]    Script Date: 12/08/2016 13:58:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[fnCp] (@USL real,@LSL real, @StdPV real)
returns real
begin
	declare @CP real
		if @StdPV=0
		begin
			set @CP = 999999
		end
		set @CP = (@USL - @LSL)/(6*@StdPV)
	return @CP
end

Si quelqu'un peut m'aider ....
Merci bien