sqlserver中在查询过滤的时辰, 经常会碰着, 以字符串的日期值去过滤日期类型的列, 或者, 分歧数字类型的等值过滤, 好比int、decimal、money、float等等数字类型匹配 。 他们的等值毗连查询需要怎么做呢?
方式/
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
);
文章插图
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)
);
文章插图
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');
文章插图
4查询姑且表中的测试数据
select * from #tmp1;
select * from #tmp2;
文章插图
5【sqlserver针对不同数据类型,如何等值连接查询】利用INNER JOIN联系关系两张表, 查询Col2字符串列值相等的成果
select *
from #tmp1 a
inner join #tmp2 b on b.Col1 = a.Col1
where a.Col2 = b.Col2
文章插图
6利用INNER JOIN联系关系两张表, 查询int类型的数字和decimal类型数字相等的成果, sqlserver会主动进行数据类型转换匹配
select *
from #tmp1 a
inner join #tmp2 b on b.Col1 = a.Col1
where a.Col3 = b.Col3
文章插图
7利用INNER JOIN联系关系两张表, 查询detatime类型的日期与字符串类型日期相等的成果, sqlserver会主动进行数据类型转换匹配
select *
from #tmp1 a
inner join #tmp2 b on b.Col1 = a.Col1
where a.Col4 = b.Col4
文章插图
以上内容就是sqlserver针对不同数据类型, 如何等值连接查询的内容啦, 希望对你有所帮助哦!
推荐阅读
- sqlserver不等值如何查询?大于、小于、不等于
- 按不同的定义划分紫砂壶的种类
- 如何科学合理喝茶-不同季节选择不同的茶,普洱茶膏价格
- 什么茶具好
- 气垫粉底使用方法
- 绿萝品种有哪些?不同品种绿萝图片欣赏
- 吊兰的种类:各品种吊兰形态各不同
- 吊兰种类大全:盘点16种不同的吊兰图片
- 春节喝茶有诀窍 不同的茶有不同的功能,红糖姜茶
- 多肉一天什么时候浇水,用喷雾好吗