首页 > 解决方案 > VarChar 到 Int 限制值 MS 访问

问题描述

我正在尝试获取在特定日期拨打某些号码的次数。但是,尽管在我的 Dialed_Num 列上添加了从 varchar 到 int 的 Cast in,但我仍然收到“varchar 值的转换溢出 int 列”的错误。有没有办法限制我提取的 varchar 值?我想我还是会的,因为我只想要我在 Where 子句中指定的两个数字

SET NOCOUNT ON

DECLARE @StartDate date = '2018-09-01', @EndDate date = '2018-09-05'

SELECT

CAST (SEGSTART as Date) as LocalDay,
CAST(Dialed_Num as INT) as DIALEDMODNUM

FROM
oauser.cmsCallHistory cms

WHERE SEGSTART BETWEEN @StartDate And @EndDate AND [Dialed_Num] IN(6582000,6752000);

标签: sqltsql

解决方案


您的Dialed_Num列需要cast,在where子句中。

SELECT
   CAST (SEGSTART as Date) as LocalDay,
   CAST(Dialed_Num as INT) as DIALEDMODNUM
FROM oauser.cmsCallHistory cms
WHERE 
   SEGSTART BETWEEN @StartDate And @EndDate 
AND 
   CAST(Dialed_Num as INT) IN(6582000,6752000);

推荐阅读