转换 nvarchar 值 '2013071200000578' 时溢出了整数列

sqlserver 把一个nvarchar 与 int  类型 拼接 会自动转换 INT 做运算,nvarchar 类型有16位 转换失败

只能 str(int) 转换成 字符型 进行拼接 (sqlserver 把 2013071000000225 自动转换成数字就失败溢出了,str() 转换成字符)

分页的时候 用not in 分页 但是 主键是两个字段 双主键 只能 拼接之后 not in

SELECT TOP(1) A.*, B.START_DATE,B.END_DATE,B.DOCTOR_ID,C.DOCTOR_NAME,C.DOCTOR_TITLE,D.DISEASE_INFO

FROM DOCTOR_MAKE_APPOINTMENT_INFO A,DOCTOR_MAKE_APPOINTMENT B,
DOCTOR_INFO_DETAIL C,USER_MEMBER D
WHERE A.DOCTOR_MAKE_APPOINTMENT_ID = B.DOCTOR_MAKE_APPOINTMENT_ID
AND B.DOCTOR_ID = C.DOCTOR_ID
AND A.USER_MEMBER_ID = D.USER_MEMBER_ID
AND A.DOCTOR_MAKE_APPOINTMENT_ID+STR(A.DMA_SEQ) NOT IN (
SELECT TOP(1)DOCTOR_MAKE_APPOINTMENT_ID+STR(DMA_SEQ )
FROM DOCTOR_MAKE_APPOINTMENT_INFO
WHERE USER_ID = '2013071000000225'
)
AND A.USER_ID = '2013071000000225'

posted @ 2013-07-22 17:59  文刀君  阅读(8443)  评论(0编辑  收藏  举报