sqlserver针对不同数据类型,如何等值连接查询?

 时间:2026-02-14 16:01:00

1、创建一个临时表,用于演示sqlserver语法中的等值连接查询

IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; 

CREATE TABLE #tmp1(

    Col1 varchar(50),        

    Col2 varchar(200),

    Col3 int,

    Col4 datetime        

);

sqlserver针对不同数据类型,如何等值连接查询?

2、创建另外一个临时表,用于演示sqlserver语法中的等值连接查询

IF OBJECT_ID('tempdb..#tmp2') IS NOT NULL DROP TABLE #tmp2; 

CREATE TABLE #tmp2(

    Col1 varchar(50),      

    Col2 varchar(200),

    Col3 decimal(18, 4),

    Col4 varchar(50)      

);

sqlserver针对不同数据类型,如何等值连接查询?

3、往临时表中插入几行测试数据,其中某些数组在两个表虽然数据类型不同,但是插入相同的值

insert into #tmp1(Col1, Col2, Col3, Col4) values('Code1', '第1行', 1, '2019-04-25');

insert into #tmp1(Col1, Col2, Col3, Col4) values('Code10', '第2行', 10, '2019-04-26');

insert into #tmp1(Col1, Col2, Col3, Col4) values('Code100', '第3行', 100, '2019-04-27');

insert into #tmp2(Col1, Col2, Col3, Col4) values('Code1', NULL, 1, '2019-04-25');

insert into #tmp2(Col1, Col2, Col3, Col4) values('Code10', '第2行', 10, '2019-04-26');

insert into #tmp2(Col1, Col2, Col3, Col4) values('Code100', '第N行', 100, '2019-04-30');

sqlserver针对不同数据类型,如何等值连接查询?

4、查询临时表中的测试数据

select * from #tmp1;

select * from #tmp2;

sqlserver针对不同数据类型,如何等值连接查询?

5、使用INNER JOIN关联两张表,查询Col2字符串列值相等的结果

select * 

from #tmp1 a

inner join #tmp2 b on b.Col1 = a.Col1

where a.Col2 = b.Col2

sqlserver针对不同数据类型,如何等值连接查询?

6、使用INNER JOIN关联两张表,查询int类型的数字和decimal类型数字相等的结果,sqlserver会自动进行数据类型转换匹配

select * 

from #tmp1 a

inner join #tmp2 b on b.Col1 = a.Col1

where a.Col3 = b.Col3

sqlserver针对不同数据类型,如何等值连接查询?

7、使用INNER JOIN关联两张表,查询detatime类型的日期与字符串类型日期相等的结果,sqlserver会自动进行数据类型转换匹配

select * 

from #tmp1 a

inner join #tmp2 b on b.Col1 = a.Col1

where a.Col4 = b.Col4

sqlserver针对不同数据类型,如何等值连接查询?

  • 创建DFS复制组的图文教程
  • 怎么配置RSTP
  • 易语言CD播放下新建全局变量
  • 如何将DMG格式转换为ISO格式
  • 如何在MyEclipse中导入小程序项目
  • 热门搜索
    肇事逃逸怎么处理 何首乌怎么吃治白发最有效 qq银行卡怎么解绑 跖疣怎么治 surface怎么样 怎么样消除青春痘 怎么登录邮箱 华润漆怎么样 小孩湿疹怎么办 老年斑怎么去掉