SQL:将varchar转换为int时出错

基因

我有以下转换错误

将varchar值'2016-October'转换为数据类型int时,转换失败。

在以下语句中:

declare @month varchar(20) = 'October'
select HolidayName, Holiday
from tblHoliday 
where PortfolioID = 2 and DATEPART(Year, Holiday) = case when @month is null then 2016 else convert(varchar,2016) + '-' + @Month end

我在做什么错,做这样的事情的正确方法是什么?

杰基

我想您要存档:

您的情况

  1. 如果@month is null->搜索2016年的所有值
  2. 如果@month is not null->用月和年搜索所有值

您的问题:

  1. 当时@month is not null,您的查询将是:

    ... and DATEPART(Year, Holiday) = convert(varchar,2016) + '-' @Month 在整数和varchar之间进行比较

  2. tsql中没有可用于将月份名称直接转换为整数的内置函数,因此一种解决方法是:

    SELECT DATEPART(MM, @month + '01 2000')

  3. 我认为使用case...when...then不会在这里起作用,因为在每种情况下它的比较方式都不同,所以我建议使用if...else

代码样例

declare @month varchar(20) = 'October'
if @month is null begin
    select HolidayName, Holiday
    from tblHoliday 
    where PortfolioID = 2
    and DATEPART(Year, Holiday) = 2016
end
else begin
    select HolidayName, Holiday
    from tblHoliday
    where PortfolioID = 2
    and DATEPART(Year, Holiday) = 2016
    and DATEPART(Month, Holiday) = DATEPART(MM, @month + '01 2000')
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将varchar转换为int

来自分类Dev

Visual Studio 2010 C#SQLCommand.ExecuteNonQuery SQLException将数据类型varchar转换为int时出错

来自分类Dev

将数据类型varchar转换为int时出错(存储过程C#ASP.NET)

来自分类Dev

将varchar值转换为SQL Server 2008中的数据类型int时,转换失败

来自分类Dev

将数据类型varchar转换为数字时出错。SQL服务器

来自分类Dev

将varchar转换为float asp.net时出错

来自分类Dev

将double转换为int时出错

来自分类Dev

将数据类型varchar转换为int时出错-Excel VBA SQL

来自分类Dev

使用XML路径方法的SQL错误,将数据类型varchar转换为float时出错

来自分类Dev

SQL Server存储过程-将数据类型varchar转换为datetime时出错

来自分类Dev

将varchar转换为datetime时出错

来自分类Dev

将varchar转换为日期ddmmyyyy时出错

来自分类Dev

SQL Server从查询“将数据类型varchar转换为bigint时出错”

来自分类Dev

将数据类型varchar转换为数字时出错。sql t-sql

来自分类Dev

将varchar转换为int

来自分类Dev

将int转换为NSNumber时出错

来自分类Dev

将varchar转换为int时转换失败

来自分类Dev

SQL Server:将数据类型varchar转换为数值时出错

来自分类Dev

在SQL中将varchar转换为datetime时出错

来自分类Dev

将数据类型varchar转换为varbinary时出错。转换为整数时的MSSQL

来自分类Dev

将数据类型从varchar转换为数值时出错

来自分类Dev

将varchar转换为bigint时出错

来自分类Dev

将 varchar 转换为 INT 时转换失败

来自分类Dev

将数据类型 varchar 转换为 float 时出错。?

来自分类Dev

通过连接两个表将 varchar 转换为 int 时出现 SQL 错误

来自分类Dev

SQL Server 错误代码 245(将 varchar 转换为 int 时转换失败)

来自分类Dev

在动态sql查询中将varchar转换为数字时出错

来自分类Dev

将数据类型 varchar 转换为真正的 SQL Server 时出错

来自分类Dev

SQL Server:将数据类型 varchar 转换为数字时出错(奇怪的行为)

Related 相关文章

  1. 1

    将varchar转换为int

  2. 2

    Visual Studio 2010 C#SQLCommand.ExecuteNonQuery SQLException将数据类型varchar转换为int时出错

  3. 3

    将数据类型varchar转换为int时出错(存储过程C#ASP.NET)

  4. 4

    将varchar值转换为SQL Server 2008中的数据类型int时,转换失败

  5. 5

    将数据类型varchar转换为数字时出错。SQL服务器

  6. 6

    将varchar转换为float asp.net时出错

  7. 7

    将double转换为int时出错

  8. 8

    将数据类型varchar转换为int时出错-Excel VBA SQL

  9. 9

    使用XML路径方法的SQL错误,将数据类型varchar转换为float时出错

  10. 10

    SQL Server存储过程-将数据类型varchar转换为datetime时出错

  11. 11

    将varchar转换为datetime时出错

  12. 12

    将varchar转换为日期ddmmyyyy时出错

  13. 13

    SQL Server从查询“将数据类型varchar转换为bigint时出错”

  14. 14

    将数据类型varchar转换为数字时出错。sql t-sql

  15. 15

    将varchar转换为int

  16. 16

    将int转换为NSNumber时出错

  17. 17

    将varchar转换为int时转换失败

  18. 18

    SQL Server:将数据类型varchar转换为数值时出错

  19. 19

    在SQL中将varchar转换为datetime时出错

  20. 20

    将数据类型varchar转换为varbinary时出错。转换为整数时的MSSQL

  21. 21

    将数据类型从varchar转换为数值时出错

  22. 22

    将varchar转换为bigint时出错

  23. 23

    将 varchar 转换为 INT 时转换失败

  24. 24

    将数据类型 varchar 转换为 float 时出错。?

  25. 25

    通过连接两个表将 varchar 转换为 int 时出现 SQL 错误

  26. 26

    SQL Server 错误代码 245(将 varchar 转换为 int 时转换失败)

  27. 27

    在动态sql查询中将varchar转换为数字时出错

  28. 28

    将数据类型 varchar 转换为真正的 SQL Server 时出错

  29. 29

    SQL Server:将数据类型 varchar 转换为数字时出错(奇怪的行为)

热门标签

归档