Sql 从字符串大小写转换日期和/或时间时转换失败+;铸造
我是一名编程初学者,我对Sql 从字符串大小写转换日期和/或时间时转换失败+;铸造,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,我是一名编程初学者,我对演员阵容有这个问题 我的问题是: DECLARE @adtdays INT SELECT @adtdays = CASE WHEN DATEPART(MONTH, GETDATE()) > DATEPART(MONTH, CONVERT(DATETIME, Day1)) THEN DATEPART(DAY, (DATEADD(DAY, -1, CAST(CAST(DATEP
演员阵容有这个问题
我的问题是:
DECLARE @adtdays INT
SELECT
@adtdays = CASE
WHEN DATEPART(MONTH, GETDATE()) > DATEPART(MONTH, CONVERT(DATETIME, Day1))
THEN DATEPART(DAY, (DATEADD(DAY, -1, CAST(CAST(DATEPART(MONTH, GETDATE()) AS VARCHAR) + '/1/' + CAST(DATEPART(year, Day1) AS VARCHAR) AS DATE))))
ELSE 0
END
FROM
ProgProdAlpidi
WHERE
ProductCode = 'PRODUCT CODE'
我得到以下错误
从字符串转换日期和/或时间时,转换失败
谁能帮帮我吗
好的,对不起,我是新的,,,期望的结果应该是:
如果当前月份大于“Day1字段”的月份,则
删除当前月份的一天,1,当前年份。
这将带给我上个月的最后一天
这将类似于“2017年4月30日”
第一行是columnHeader第二行是我表格的第一行
ProductCode MY Vehicle Project Dest Line Day1 Day2 Day3
PRODUCT CODE MY VEHICLE PROJECT DEST. LIN 42826 42827 42828
但是我试图进行的转换似乎是错误的…数据库表中的Day1
列的数据类型是什么?如果是INT
,您的查询应该可以工作。但是,如果是类似于NVARCHAR
或VARCHAR
的错误,那么您将得到上面报告的错误。您想做什么?提供示例数据和所需结果。我相信导致错误的代码部分是DATEPART(MONTH,CONVERT(DATETIME,Day1))
。这行代码的目的是什么?我已经添加了所需的结果。我看得越多,我想知道day1
字段中的某些值是否就是无效日期。好了。。希望这对我有帮助:(谢谢你打破了它的浮动,我做了一个选择,检查它是否工作,它工作得很好…所以我认为它是其他的东西。。。