首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态SQL中的Datetime

动态SQL中的Datetime
EN

Stack Overflow用户
提问于 2020-01-17 23:20:13
回答 1查看 48关注 0票数 0

我正在尝试在动态sql查询中使用datetime变量。我尝试了许多查询,但始终没有返回正确的日期。例如:

代码语言:javascript
复制
declare @StartDate datetime = '2020-01-10'
    SET @sql ='
        select dateadd(day, 1, '  +@StartDate  +')'
            execute sp_executesql @sql;

从字符串转换日期和/或时间时抛出错误。所以我试着

代码语言:javascript
复制
declare @StartDate datetime = '2020-01-10'    
SET @sql ='
    select dateadd(day, 1, '  +convert(varchar(10),@StartDate, 101)  +')'
        execute sp_executesql @sql;

返回'1900-01-02‘,显然不是'2020-01-10’之后的第二天。所以它一直认为我的日期是0,它被转换为'1900-01-01‘。我在这里做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-17 23:21:40

将日期作为参数传入!

代码语言:javascript
复制
set @sql ='
select dateadd(day, 1, @StartDate)';

execute sp_executesql @sql,  N'@StartDate date', @StartDate=@StartDate;

使用的是sp_executesql。现在也使用它支持的参数!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59790185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档