位置: 编程技术 - 正文

在SQL Server 2005所有表中搜索某个指定列的方法(在sqlserver2008中)

编辑:rootadmin

推荐整理分享在SQL Server 2005所有表中搜索某个指定列的方法(在sqlserver2008中),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server 2005属于,在sql中,在sqlserver2008中,在sql server数据库中,在sql server编程中,可使用,在sql server数据库中,sql server 2005使用,sql server 2005使用,内容如对您有帮助,希望把文章链接给更多的朋友!

有时候我们只知道列的名字,但是不知道这列数据到底在哪个表里面,那么可以用下面的办法把含有这列数据的表查找出来。 在你实际试用中,把ColumnName换成你要查的列的名字就可以了。

字符串在某字段里时,如何写搜索的SQL语句

问题描述:

经常遇到这种问题,我们搜索的条件是某字符串包含在某字段,如果是某字段包含在某字符串,我们知道可以用in,

如sql="select * form tb where tb.name in(" & names & " )”

注释:name是表tb的字段,name是获得的字符串,该句查询字段name在给的字符串names里的所有集合)

这种方法自然不必多说,但我们通常遇到的问题是“反着来”,即 "name"字符串 在 tb.name表字段里,如,表tb的name字段值为:张三,李四,王五,赵六

而我们要查询的name=张三,这就要判断当表的name字段包含查询条件,也就是有“张三”时,即为符合查询

解决方法:

1、最先想到的当然是like查询(并非终极解决方案,终极方法继续往下看)

如sql="select * form tb where tb.name like '%" & 张三 & "%' ”

解释一下,这个语句,能查询到所有表的name字段里有”张三“的集合,可是,假设有人的名字叫”秦张三八“,他的名字不管爹妈怎么取的,总之也有”张三“两个字,这样很显然也符合查询情况,那么他自然也会被查询出来,而我们只要”张三“,不要”秦张三八“,看下一步

2、试想一下,如果字段里的值不是“张三,李四,王五,赵六”,而是“,张三,李四,王五,赵六,”

在SQL Server 2005所有表中搜索某个指定列的方法(在sqlserver2008中)

发现什么了?

是的,字符串前后多了个逗号,这就有用了,因为逗号可以作为限制条件,如果“秦张三八”此时也在这个字段里,他的前后也有逗号,这样按逗号来控制查询,就精确到位了

好了,改写查询成:sql="select * form tb where tb.name like '%," & 张三 & ",%' ”

到此,原理和解决方法就已经全部说完了,但是,你可能还会遇到以下问题,继续看第三步。

3、有时类似这种带逗号的字段都是我们在保存的时候勾选了多选check得来的值,这时写入数据库的时候,会自动在不同的check值后加上逗号,

比如,请选择你的兴趣爱好,你可能会勾选“看书(value=1)”,“听歌(value=)”,“爬山(value=)”

此时得到的值就是xingquaihao="1, , ",将这个字段保存,在数据库里也就是这种格式,但是此时如果直接按照上面的查询方式来查询的话,

直接用:sql="select * form tb where xingquaihao like '%" & 1 & "%' ” 将得到所有含1的,就算是、中的1,也会被查出来

将字段前后加上逗号,变成“,1, , ,”的时候,如果我们查或者,改成:sql="select * form tb where xingquaihao like '%," & & ",%' ” 结果是什么都查不出来

为什么明明有值,却查不出来呢?

因为自动勾选,然后保存的字段中间有空格,比如“1, , ”,1的后面是一个逗号,逗号后面是一个空格,然后才是

解决方法很简单了,在勾选完后,入库前把空格去掉,

xingquaihao="1, , "

xingquaihao=replace(xingquaihao," ","") '将空格删除

如此得到的就是紧凑型的值了,再按照上面的方法查询,搞定!

详解删除SQL Server Compact Edition数据库 详解删除SQLServerCompactEdition数据库本主题将介绍如何删除MicrosoftSQLServerCompactEdition(SQLServerCompactEdition)数据库。由于SQLServerCompactEdition数据库是文件

更改SQL Server 数据库中tempdb位置的方法 了解SQLServer数据库的朋友可能都知道,tempdb系统数据库是一个全局资源,可供连接到SQLServer实例的所有用户使用。我们有时候为了操作方便,常常

SQL Server Management Studio Express企业管理器将英文变成简体中文版的实现方法 看到这个文章肯定一点就是你把sql没有装到C盘里,呵呵不用怕看下面在安装的时候要注意:在安装SQLServerExpress时候需要将公共组件安装在C盘然后再

标签: 在sqlserver2008中

本文链接地址:https://www.jiuchutong.com/biancheng/312206.html 转载请保留说明!

上一篇:SQL Server 中 RAISERROR 的用法详细介绍

下一篇:详解删除SQL Server 2005 Compact Edition数据库(删除sql server2019)

  • 个税什么会计科目
  • 办税人是纳税人吗
  • 公司注册后一直没有营业怎么办
  • 营业成本在资产负债表哪里
  • 农产品收购发票可以跨区域开吗
  • 个体户购买社保和自由人购买社保区别
  • 填写三季度预缴所得税申报表应关注哪些事项
  • 未分配利润借方表示增加还是减少
  • 收到一笔支付宝转账,如何查看转账人
  • 未实现融资收益纳税调整
  • 扣员工餐费需要缴纳个税吗
  • 预计退货的会计分录 东奥
  • 自己公司开发票有什么好处
  • 电商销售进对公账户怎样做账
  • 土地使用权的租赁与出租的区别
  • 企业的成本费用包括哪些
  • 什么情况下个税税率是10%
  • 借主营业务成本贷应付账款
  • 转让长期股权投资怎么算
  • 惠普台式电脑配置及价格
  • 哪些收入要纳税
  • 个税抵扣申报截止时间
  • 快启动u盘制作
  • 关联企业需要计提坏账
  • 要求快速启动
  • 房地产资质代理公司排名
  • 外汇账户转账有手续费吗
  • 应收票据贴现的会计分录
  • 入固定资产含税吗
  • 银行代发工资会计科目怎么写
  • 截取字符串php
  • 销售货物应如何记账
  • 纳税人性质是什么
  • 用友财务软件使用视频教程
  • windowsserver2008r2密码重置
  • 出口抵减内销产品应纳税额怎么结转
  • wordpress限制邮箱注册
  • 金税盘中的发票修复是什么意思
  • 企业应收账款的规模受哪些因素的影响?( )
  • 结转财务费用时怎么做账
  • 社保员工全额承担怎么写分录
  • 代开运输发票会不会造成重复征税
  • 红字发票开错可以重开吗
  • 企业年金是否要交个税
  • 劳务费怎么做会计科目
  • 无法收回的其他应收款可以税前扣除吗
  • 过路费油费计入什么费用
  • 分公司与总公司的责任承担
  • 认购股份的形式主要有
  • 台账和明细账有什么区别
  • 营业执照怎么办理注销
  • 免征企业所得税的有哪些行业
  • 新冠肺炎疫情相关的公共政策
  • 坏账准备怎么计提比例
  • 数据库的行和列的叙述
  • 苹果15手机价格和图片颜色
  • win8.1退回win8
  • Win2000/2003 Broadcom 网卡 teaming 配置手册
  • windows图片密码
  • linux find命令忽略大小写
  • 求windows7用户账户
  • windows8自动开机
  • win10系统如何关闭屏保功能
  • linux软件类型
  • pgptray.exe - pgptray是什么进程 有什么用
  • win10ipv4 ipv6无internet访问权限
  • win10怎么修改桌面图标样式
  • win7系统宽带连接651
  • 虚拟内存系统盘
  • 添加ie
  • cmd for /f
  • ffmpeg webui 0.9.6
  • java.基础
  • jquery 延迟对象
  • shell脚本位置变量
  • ubuntu如何下载
  • 朵朵舞百科
  • 河北网上税务登记流程
  • 贵州银行短信服务怎么开通
  • 武汉代账公司一般怎么收费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设