sqlserver2019双表查询两张表字段类型不一样 解决方案

在SQLServer2019中,当进行双表联合查询时,如果遇到字段类型不匹配(如bigint与nvarchar),可以使用CAST函数将bigint字段转换为nvarchar以匹配。示例查询展示了如何使用CAST在sys_user和ACT_HI_IDENTITYLINK表间进行连接。然而,这种方法可能增加查询时间,因此建议长期解决方案是修改表结构,为其中一张表添加相应类型的字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sqlserver2019双表查询两张表字段类型不一样 解决方案

sqlserver
    双表联合查询两张表字段值不一样 解决方案
    使用cast函数转换
    select  a.user_id,a.user_name,a.email,b.USER_ID_
    from sys_user a
    left join ACT_HI_IDENTITYLINK b on cast (a.User_id as nvarchar)=b.USER_ID_
    where a.del_flag=0 and a.user_id= #{user_id}

字段介绍
    其中sys_user 中的user_id为主键并且 字段类型为bigint
    其中ACT_HI_IDENTITYLINK 中的USER_ID_字段类型为nvarchar  该字段为非主键

不过该函数可能会影响查询时间 所以最好还是给其中一张表添加字段比较好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值