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的时候,需要将语句修改为

 

 执行成功

 

posted @   小小叶弯  阅读(4386)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示