将nvarchar值'H14'转换为数据类型int时转换失败

问题描述 投票:0回答:1

我意识到那里存在一些类似的问题,并且我意识到H是引起问题的原因。我的问题的第一部分是字母如何进入年份列(我不确定年份列为何是数据类型nvarchar)。

这是我的代码

<cfset StartYear=Val(DateFormat(Now(),'yyyy'))-10>
<cfquery name="RegYearList" datasource="Binkley">
    Select Distinct YEAR
    From RegForm200
    Where Year Is Not NULL
    And rTrim(YEAR)>''
    And Cast(Year As Int)>=#StartYear#
    And Cast(Year As Int)<=#Year(Now())#
    Order By Year Desc
</cfquery>

任何帮助将不胜感激。我只是在2019年6月继承了此数据库和程序,但我仍在设法找到自己的路。

sql coldfusion-9
1个回答
0
投票

尝试一下:

and cast(SUBSTRING('H14', PATINDEX('%[0-9]%', 'H14'), LEN('H14')) as int)
© www.soinside.com 2019 - 2024. All rights reserved.