SQL Server 从数据类型 varchar 转换为 numeric 时出错 问题
从前台做数据查询时,报错信息如下:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Data.SqlClient.SqlException: 从数据类型 varchar 转换为 numeric 时出错。
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
在 System.Data.SqlClient.SqlDataReader.get_MetaData()
起因是 ,前台传参数是 parms.NOW_MONEY = 'is not null' ,
后台SQL查询时,条件写的是
<isNotEmpty prepend="AND" property="NOW_MONEY"> PRDY.NOW_MONEY = '$NOW_MONEY$' </isNotEmpty>
所以导致查询报错,正确写法是
<isNotEmpty prepend="AND" property="NOW_MONEY"> PRDY.NOW_MONEY is not null </isNotEmpty>
拓展:
SQL Server 从数据类型 varchar 转换为 numeric 时出错
1,起因
2,执行语句
错误提示:
3,原因
因为浮点类型的数据字段无法插入空数据
4,解决
所以我在写后端拼接sql的时候,需要将语句修改为
执行成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?