[英]Convert varchar=> Datetime stored procedure
I would like to convert a varchar
into Datetime
datatype (DATESX = UDDT, datetime). 我想将varchar
转换为Datetime
数据类型(DATESX = UDDT,datetime)。 I know what I have to use : 我知道我必须使用:
CONVERT(datetime, '@adx_en_cours_etude')
but I don't see where I can add this convert function ... 但我看不到我可以在哪里添加此转换功能...
DECLARE @return_value int
EXEC @return_value = [dbo].[ps_ListingElem]
@aid_cdi = 5058,
@adx_en_cours_etude = '2007-05-23 00:00:00.000'
SELECT 'Return Value' = @return_value
GO
/*My stored procedure :*/
ALTER PROCEDURE [dbo].[ps_ListingElem]
@aid_cdi ID, /* uddt */
/* (DATESX = User defined datatype = datetime type) */
@adx_en_cours_etude DATESX,
AS
BEGIN
SELECT
pc_sup.dt_deb,
pc_sup.dt_fin,
pc_sup.id_type_produit,
FROM pc_sup
INNER JOIN type_prod ON pc_sup.id_type_prod = type_prod.id_type_prod
INNER JOIN cdi_type_prod ON type_prod.id_type_prod = cdi_type_prod.id_type_prod
WHERE cdi_type_prod.id_cdi = @aid_cdi
AND (@adx_en_cours_etude IS NULL
OR pc_sup.dt_deb <= @adx_en_cours_etude
AND pc_sup.dt_fin >= @adx_en_cours_etude )
END
Assuming pc_sup.dt_deb
and pc_sup.dt_fin
both Datetime 假设pc_sup.dt_deb
and pc_sup.dt_fin
均为日期时间
DECLARE @return_value int
EXEC @return_value = [dbo].[ps_ListingElem]
@aid_cdi = 5058,
@adx_en_cours_etude = '2007-05-23 00:00:00.000'
SELECT 'Return Value' = @return_value
/*My stored procedure :*/
ALTER PROCEDURE [dbo].[ps_ListingElem]
@aid_cdi ID, /* uddt */
/* (DATESX = User defined datatype = datetime type) */
@adx_en_cours_etude DATESX,
AS
BEGIN
SELECT
pc_sup.dt_deb,
pc_sup.dt_fin,
pc_sup.id_type_produit,
FROM pc_sup
INNER JOIN type_prod ON pc_sup.id_type_prod = type_prod.id_type_prod
INNER JOIN cdi_type_prod ON type_prod.id_type_prod = cdi_type_prod.id_type_prod
WHERE cdi_type_prod.id_cdi = @aid_cdi
AND (CONVERT(DATETIME, @adx_en_cours_etude) IS NULL
OR pc_sup.dt_deb <= CONVERT(DATETIME, @adx_en_cours_etude)
AND pc_sup.dt_fin >= CONVERT(DATETIME, @adx_en_cours_etude) )
END
are you referring to the EXEC statement ? 您是指EXEC语句吗?
EXEC @return_value = [dbo].[ps_ListingElem]
@aid_cdi = 5058,
@adx_en_cours_etude = '2007-05-23 00:00:00.000'
you don't have to convert. 您不必转换。 Specifying the date in string ISO format (YYYY-MM-DD) as what you have done is fine for SQL Server. 以字符串ISO格式(YYYY-MM-DD)指定日期作为您所做的事情对于SQL Server来说是很好的。 You don't have to convert to datetime at all. 您根本不必转换为日期时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.