sql-SQL数据抽取,出现数据类型转换错误,求大神帮忙看一下。

问题描述

SQL数据抽取,出现数据类型转换错误,求大神帮忙看一下。

select a.patient_id+'_'+cast(a.item_no as varchar(20))+'_'+cast(a.ledger_sn as varchar(20)) pk_pay,null pk_dcpv,null pvcode,'SDDYRMYY_G' code_group,'SDDYRMYY' code_org ,
cheque_type code_pay_mode,b.name name_pay_mode,a.charge amount,convert(varchar,a.dcount_date,120) date_pay, 'O' code_pvtype,
case when a.charge>=0 then 5 when a.charge<0 then 2 end dt_paytype,a.dcount_id code_psn_pay,psn.name name_psn_pay,mz_dept_no code_dept_pay
from mz_deposit_b a
left join zd_cheque_type b on a.cheque_type = b.code
left join a_employee_mi psn on psn.code = a.dcount_id
--WHERE a.dcount_date between ${BEGIN_DATE} and ${END_DATE}

where EXISTS
(
select patient_id,times
from uh_dc_pi_temp t
where t.patient_id=a.patient_id
)
union all
select a.patient_id+'_'+cast(a.item_no as varchar(20))+'_'+cast(a.ledger_sn as varchar(20)) pk_pay,'O' code_pvtype,
a.patient_id+'_'+convert(varchar,times) pk_dcpv,a.patient_id+convert(varchar,times) pvcode,'SDDYRMYY_G' code_group,'SDDYRMYY' code_org ,
cheque_type code_pay_mode,b.name name_pay_mode,a.charge amount,convert(varchar,a.price_date,120) date_pay,
1 dt_paytype,a.price_opera code_psn_pay,psn.name name_psn_pay,mz_dept_no code_dept_pay
from gh_deposit_b a
left join zd_cheque_type b on a.cheque_type = b.code
left join a_employee_mi psn on psn.code = a.price_opera
--WHERE price_date between ${BEGIN_DATE} and ${END_DATE}
where EXISTS
(
select patient_id,times
from uh_dc_pi_temp t
where t.patient_id=a.patient_id
)

union all

select a.patient_id+'_'+cast(a.item_no as varchar(20))+'_'+cast(a.ledger_sn as varchar(20)) pk_pay,null pk_dcpv,null pvcode,'SDDYRMYY_G' code_group,'SDDYRMYY' code_org ,
cheque_type code_pay_mode,b.name name_pay_mode,a.charge amount,convert(varchar,a.dcount_date,120) date_pay, 'O' code_pvtype,
case when a.charge>=0 then 5 when a.charge<0 then 2 end dt_paytype,a.dcount_id code_psn_pay,psn.name name_psn_pay,mz_dept_no code_dept_pay
from mz_deposit_c a
left join zd_cheque_type b on a.cheque_type = b.code
left join a_employee_mi psn on psn.code = a.dcount_id
--WHERE a.dcount_date between ${BEGIN_DATE} and ${END_DATE}

where EXISTS
(
select patient_id,times
from uh_dc_pi_temp t
where t.patient_id=a.patient_id
)
union all
select a.patient_id+'_'+cast(a.item_no as varchar(20))+'_'+cast(a.ledger_sn as varchar(20)) pk_pay,'O' code_pvtype,
a.patient_id+'_'+convert(varchar,times) pk_dcpv,a.patient_id+convert(varchar,times) pvcode,'SDDYRMYY_G' code_group,'SDDYRMYY' code_org ,
cheque_type code_pay_mode,b.name name_pay_mode,a.charge amount,convert(varchar,a.price_date,120) date_pay,
1 dt_paytype,a.price_opera code_psn_pay,psn.name name_psn_pay,mz_dept_no code_dept_pay
from gh_deposit_c a
left join zd_cheque_type b on a.cheque_type = b.code
left join a_employee_mi psn on psn.code = a.price_opera
--WHERE price_date between ${BEGIN_DATE} and ${END_DATE}
where EXISTS
(
select patient_id,times
from uh_dc_pi_temp t
where t.patient_id=a.patient_id
)
之前我使用的是convert,会出现‘从数据类型 varchar 转换为 numeric 时出错。错误。改成cast后也是这样。
附:patient_id---char(12),.item_no--smallint,ledger_sn--smallint.

解决方案

这个就是因为字符串字段中的值有不是数字的记录

要么将存在的记录修改好,要么自己写一个转换数字的函数,把非数字的字符串转成null或者0这样

时间: 2025-01-30 00:27:42

sql-SQL数据抽取,出现数据类型转换错误,求大神帮忙看一下。的相关文章

高分悬赏 请大神指导-超级长得SQL语句,看晕你的头,求大神帮忙看一下这段SQL错在哪里。

问题描述 超级长得SQL语句,看晕你的头,求大神帮忙看一下这段SQL错在哪里. DECLARE @SQL VARCHAR(8000) SET @SQL ='SELECT A.POINT, A.WZ, A.LC, A.PL1, A.PL2, A.XS1, CASE WHEN ISNULL(A.ZDZS,'''') <> '''' THEN A.ZDZS ELSE 0 END AS ZDZS, CASE WHEN ISNULL(A.PJZ,'''') <> '''' THEN A.PJ

注释-数据结构图的算法问题,求大神帮忙。

问题描述 数据结构图的算法问题,求大神帮忙. 连通图G和G中的一个结点v,设计算法,求G的生成树(支撑树)T.其中生成树的根是v,T的层次遍历次序是以v为起点的G的某个广度优先遍历次序.用C或C++写出算法的思想,设计G和T的存储结构,最好给出注释.谢谢. 解决方案 算法--数据结构图的最短路径实现JAVA代码数据结构图论之普里姆算法

spring mvc-SpringMVC整合EclipseLinkJPA,数据访问出现问题,急求大神帮忙

问题描述 SpringMVC整合EclipseLinkJPA,数据访问出现问题,急求大神帮忙 先说下项目的大体情况:做一个小系统作为APP的后端,为移动端提供数据接口:因为公司 web

datagridview-c# winform导数多条数据复制到word模板中 求大神帮忙! ...

问题描述 c# winform导数多条数据复制到word模板中 求大神帮忙! ... 求大神指点下 ! 有一份为设备卡的word模板 要把datagridview多条数据导出并且赋值到设备卡的模板里面对应的位置 变成一份word里面有多个设备卡表格 求大神们指点下代码怎么写好 PS:图一是设备卡模板 图二是想实现的样子 解决方案 解决方案二: 其它的,格式设置问题,你自己整吧,datagridview不难,得多动手,不过建议你这个用listview实现 解决方案三: 具体看了你的问题,虽然说可能

android 类qq空间图片查看器。出现好多错误 求大神帮忙。小女涉入甚浅。

问题描述 android 类qq空间图片查看器.出现好多错误 求大神帮忙.小女涉入甚浅. 11-20 11:26:39.629: E/AndroidRuntime(1136): FATAL EXCEPTION: main 11-20 11:26:39.629: E/AndroidRuntime(1136): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.desktop/co

Myeclipse把tomcat 6.0换成 tomcat 7.0出现这种错误求大神帮忙

问题描述 Myeclipse把tomcat 6.0换成 tomcat 7.0出现这种错误求大神帮忙 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/eco]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase

两张表中添加一天一条记录 求大神 帮忙看下 sql 语句该如何去写

问题描述 求大神帮忙解决一个问题比如说有三张表A,B,C三张表,我想将A中的某条数据点击添加按钮的时候同时加到B和C两张表,如何添加?A和B是一对多关系B和C是一对多关系sql语句该如何去写 解决方案 解决方案二:分开逻辑写呗.解决方案三:用触发器可以吗解决方案四:触发器没经常用,的忘记中写了解决方案五:还有其他办法吗

xcode链接错误-求大神帮忙看看这个错误

问题描述 求大神帮忙看看这个错误 0 0x105dbf342 __assert_rtn + 144 1 0x105dfa2c6 archive::File::makeObjectFileForMember(archive::File::Entry const*) const + 1138 2 0x105df9c74 archive::File::justInTimeforEachAtom(char const*, ld::File::AtomHandler&) const + 122 3 0x1

c# winform导数多条数据复制到word模板中 求大神帮忙! ...

问题描述 求大神指点下!有一份为设备卡的word模板要把datagridview多条数据导出并且赋值到设备卡的模板里面对应的位置变成一份word里面有多个设备卡表格求大神们指点下代码怎么写好PS:图一是设备卡模板图二是想实现的样子 解决方案 解决方案二:1.获取datagridview中的数据项.2.操作word找到word中对应的表格.3.将数据写入word对应的表格中.