位置: 编程技术 - 正文

在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)

  • SQL注入全过程深入分析(sql注入的原理和步骤)

    直接通过Google浏览器就能去除。

    点击登录,返回的信息如下:

    Conversion failed when converting the nvarchar value 'master' to data type int.

    数据库名称“master”通过异常被显示出来!依次改变上面SQL语句中的序号,

    就能得到服务器上所有数据库的名称。

    接着,输入信息如下:

    得到返回信息如下:

    Conversion failed when converting the nvarchar value 'spt_fallback_db' to data type int.

    我们得到了master数据库中的第一张表名:“spt_fallback_db”,

    同上,依次改变序号,可得到该库全部表名。

    现在我们以“spt_fallback_db”表为例,尝试获取该表中所有的字段名。在输入框中输入以下代码:

    于是,得到错误提示如下:

    "Conversion failed when converting the nvarchar value 'xserver_name' to data type int." class="img-responsive" alt="SQL注入全过程深入分析(sql注入的原理和步骤)">

    SQL注入全过程深入分析(sql注入的原理和步骤)

  • Mac下MySQL5.7忘记root密码的解决方法(mac安装mysql没看见初期密码)

    Mac下MySQL5.7忘记root密码的解决方法(mac安装mysql没看见初期密码)

  • Win8系统有几个版本又有什么不同该如何选择(win8有几个版本)

    Win8系统有几个版本又有什么不同该如何选择(win8有几个版本)

  • [置顶]
        Unity使用JsonFX插件进行序列化([置顶]电影名字《收件人不详》)

    [置顶] Unity使用JsonFX插件进行序列化([置顶]电影名字《收件人不详》)

  • android获取MIME类型(android获取meid)

    android获取MIME类型(android获取meid)

  • 税金及附加属于管理费用吗
  • 增值税纳税人是委托方还是受托方
  • 非营利组织注销流程
  • 公司内部人员发言稿
  • 对公的etc怎么绑定怎么充值
  • 出口港杂费是什么费用
  • 红字发票信息表填好后再怎么操作
  • 事业单位补发以后的工资
  • 贸易型出口退税流程
  • 电子承兑没到期如何贴现
  • 装饰设计费计入什么科目
  • 营改增后停车费税率
  • 小规模纳税人核定征收标准
  • 金税盘服务费可以当月抵扣吗
  • 车船税为什么没有优惠
  • 扩建费用
  • 没有单价数量只有金额的发票可以用吗
  • 免抵税额增值税主表体现到哪里的
  • 光纤熔接发票属什么类别
  • 1697509063
  • 家具属于固定资产什么类别
  • 员工旅游计入什么费用
  • 未签订劳动合同工资如何给付
  • 出租房子收入计入什么科目
  • 稳增长促转型
  • ghost 安装器
  • 发放工资的时候,如何在excel里快速查询未发放成功的
  • win10如何禁止安装任何软件
  • hp是什么代码
  • 劳务资质办理需要什么条件
  • 进料加工与来料加工均为一进一出的两笔交易
  • 辞退员工补偿标准是n+1还是2n
  • PHP:gettimeofday()的用法_Date Time函数
  • php自定义表单
  • 日落之前是什么时辰
  • thinkphp6调用模型的方法
  • php生成二维码海报
  • vue调用高德js
  • local_rank,rank,node等理解
  • c语言内嵌汇编
  • 增值税发票打印出格了能用吗
  • 水费发票掉了可以补打吗
  • 对方公司开收据盖什么章
  • 体检费专票可以抵扣吗
  • 免税增值税纳税申报表怎么填
  • 年金现值系数公式记忆
  • dedecms使用教程
  • 负债类科目的余额方向为借方 不考虑双向等例外情况
  • 会员退费怎么算
  • 金蝶财务软件怎么冲销费用
  • 其他应收款和应收账款一样吗
  • 出口报关成功
  • 发出存货的计价方法一经确定,不得随意改变
  • 加盟费收入需要纳税吗
  • 生产成本里面的直接人工
  • 对方公司收钱不开发票怎么办
  • 结汇时和月底结转汇兑损益
  • 小规模减半征收房产税文件
  • 滞纳金的收取范围是什么
  • 内部资金管理实施细则
  • win2008 server r2 intel无法安装网卡驱动不存在英特尔PRO适配器的解决方法
  • linux网络不可用
  • 出现早搏就一辈子无法治愈吗
  • Win10 Redstone 11082视频快速上手:已知bug及新变化一览
  • ExtJS 4.2 Grid组件单元格合并的方法
  • perl如何使用
  • xcode配置opencv
  • 安卓手机微信取消窗口化
  • 计算机入域怎么操作
  • unity 技术
  • vue自定义方法
  • js实现计数
  • node.js中的http.createServer方法使用说明
  • unity快速接入第三方sdk
  • jquery获取元素的父元素
  • javascript获取当前年份
  • 河南省国税电子普通发票发票真伪查询系统
  • 河南的省直
  • 个人所得税中途换了公司 退税
  • 金税全国客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设