SQLServer关于类似于联合主键的字段查询

SQLServer关于类似于联合主键的字段查询,第1张

概述在一个表中,没有设置联合主键,但该表中的数据是由两个字段唯一确定的。 在tbl_name表中有key1,key2两个字段可唯一确定一条记录,现有多个数据对,查询该表中的详细数据,<key1,key2> ={(v1,v2),(v1,v3),(v4,v2)...} 查询时可用SQL '+' 运算符来进行处理 SQL Server加号[+]字符串串联运算符   加号[+]运算符是SQL Server处理

在一个表中,没有设置联合主键,但该表中的数据是由两个字段唯一确定的。

在tbl_name表中有key1,key2两个字段可唯一确定一条记录,现有多个数据对,查询该表中的详细数据,<key1,key2> ={(v1,v2),(v1,v3),(v4,v2)...}

查询时可用sql '+' 运算符来进行处理

sql Server加号[+]字符串串联运算符   加号[+]运算符是sql Server处理字符串连接,可以将两个或多个字符串合并或串连成为一个字符串。  有一点需要注意的,sql Server默认

情况之下,任何字符串与NulL串联也会得取NulL值的结果,如果想把NulL也当作字符串进行串联,需要把一个名为CONCAT_NulL_YIELDS_NulL选项设置为OFF

select * from tbl_name where key1+key2 in ('v1'+'v2','v1'+'v3','v4'+'v2'...)

sqlServer中 '+' 运算符若与一方为数字则会将其变成为运算+,这样会造成字符和数字混搭时运算报错,因此要统一变成字符类型进行运算,即

select * from tbl_name where convert(varchar(10),key1)+convert(varchar(10),key2) in ('v1'+'v2','v4'+'v2'...)

总结

以上是内存溢出为你收集整理的SQLServer关于类似于联合主键的字段查询全部内容,希望文章能够帮你解决SQLServer关于类似于联合主键的字段查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1174221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存