对于以下值@nReservationID
:
SELECT @phoneNumber=
CASE
WHEN ISNULL(rdg2.nPhoneNumber ,0) = 0 THEN ISNULL(rdg2.nMobileNumber, 0)
ELSE ISNULL(rdg2.nPhoneNumber ,0)
END
from tblReservation_Details_Guest rdg2
where nReservationID=@nReservationID
为什么会出现此错误?
消息248,级别16,状态1,过程USP_CRE_WEB_MEMBER_AUTOGENERATEDECV,行136
varchar值‘08041159620’的转换溢出了int列。
谢谢拉维和其他用户....尽管如此,我已经找到了解决方案
SELECT @phoneNumber=
CASE
WHEN ISNULL(rdg2.nPhoneNumber ,'0') in ('0','-',NULL)
THEN ISNULL(rdg2.nMobileNumber, '0')
WHEN ISNULL(rdg2.nMobileNumber, '0') in ('0','-',NULL)
THEN '0'
ELSE ISNULL(rdg2.nPhoneNumber ,'0')
END
FROM tblReservation_Details_Guest rdg2
WHERE nReservationID=@nReservationID
只需输入“ 0”而不是0
问题内容: 我在下面的查询中,需要转换为 架构图 我尝试了什么 但它们不起作用。请提出建议。 问题答案: 您将需要或作为数据类型,没有可以将数据强制转换/转换为以下数据的数据类型: 请参阅下面的SQL(实际上)在SQL Fiddle中 : 除了您试图转换为不正确的数据类型外,您所使用的语法也不正确。该函数使用以下列或值: 要么 您的原始查询的语法向后。
问题内容: 我当前的数据 是 我已经尝试了所有四个查询,但都没有工作。(参考) 全部抛出语法错误,如下所示: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’)AS INT FROM PRODUCT LIMIT 0,30’附近使用正确的语法 您的SQL语法有误;在第1行的“ INTEGER)FROM PRODUCT LIMIT 0,30”附近检查与您的MySQL服务器
我得当前数据 是 我试过了所有的四个查询,没有一个奏效。(参考) 所有抛出的语法错误如下所示: 您的SQL语法有错误;查看与您的MySQL server版本相对应的手册,以了解在第1行使用“PRODUCT LIMIT 0,30”中的near')AS INT的正确语法 您的SQL语法有错误;查看与您的MySQL server版本相对应的手册,以了解在第1行“Integer)FROM PRODUCT
问题内容: 我尝试搜索与此相关的以前的文章,但是找不到适合我情况的文章。而且由于我是StackOverflow的新手,所以我无法发布图片,所以我将尝试对其进行描述。 我有两个数据集。一个是34行,占所有s的1列。其他13行,其中1列为s。 当我同时尝试这两个时,出现以下错误: 将varchar值转换为int数据类型时,转换失败。 我不明白为什么会收到此错误。我之前编辑过许多列和许多其他类型的列,但
问题内容: 以下是我正在使用的表结构和数据类型的子集。 我想编写一个查询,让我知道“ Val”列是否小于等于9.00(必须为数字数据类型)。我通过执行以下操作来做到这一点: 这给了我一个算术溢出错误。但是,如果我排除值“ 10”的数据行: 它的工作没有任何问题。 我的问题不是如何解决此问题,因为我知道我可以简单地将数据转换为所需的格式。 我的问题是,为什么“ Val”列中的“ 10”值返回错误。当