返回顶部
首页 > 资讯 > 数据库 >【Sql Server】 master..spt_values 使用方法
  • 635
分享到

【Sql Server】 master..spt_values 使用方法

【SqlServer】master..spt_values使用方法 2021-07-14 00:07:16 635人浏览 才女
摘要

     大概在去年的时候,做项目中遇到这么一个需求,如图所示,根据Type字段筛选查找对应数据行,并找到该行字段为Levels中值最小的数据,例如当Type=1的时候,取出来的是0,当Type=2的时候,取出来的是2,当Type

【Sql Server】 master..spt_values 使用方法

     大概在去年的时候,做项目中遇到这么一个需求,如图所示,根据Type字段筛选查找对应数据行,并找到该行字段为Levels中值最小的数据,例如当Type=1的时候,取出来的是0,当Type=2的时候,取出来的是2,当Type=3的时候,取出来的是1,当我第一次看到数据存储方式的时候,我是有点吃惊的,因为一般来说,存多个id的时候,一般是这样写“1,2,3,4”,但这个表数据存进去的时候却在前后都加了一个逗号,这种写法并不常见,想了很久都没想出如何通过语句筛选。

      没想出问题,百度也不知道如何下手,最后还是同事告诉我一个方法,即通过master..spt_values方式进行搜索,老实讲也是第一次看到这个词  ,后来百度了下,大概理解了下,这个其实可以理解为数据库自带的一个常量表,之所以这样命名,因为它是在master系统数据库下面的视图里面,如图所示,使用它主要使用它的number字段和type字段,master..spt_values表的字段值为P的对应number字段值是从0-2047,可以理解为一个辅助表吧,通过关联该表取出指定位置数据。下面是我的语句

SELECT TOP 1 T.c FROM
(SELECT c = SUBSTRING(a.Levels, b.number, CHARINDEX(",", a.Levels + "," , b.number) - b.number)
FROM LevelConfig a
JOIN master..spt_values b on b.type="p" and b.number between 1 and LEN(a.Levels)
WHERE SUBSTRING("," + a.Levels, b.number, 1) = "," AND a.Type=3) T
WHERE T.c<>""

然后就可以得到结果了

 

您可能感兴趣的文档:

--结束END--

本文标题: 【Sql Server】 master..spt_values 使用方法

本文链接: https://lsjlt.com/news/7043.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【Sql Server】 master..spt_values 使用方法
         大概在去年的时候,做项目中遇到这么一个需求,如图所示,根据Type字段筛选查找对应数据行,并找到该行字段为Levels中值最小的数据,例如当Type=1的时候,取出来的是0,当Type=2的时候,取出来的是2,当Type...
    99+
    2021-07-14
    【Sql Server】 master..spt_values 使用方法
  • SQL Server中set quoted_identifier的使用方法
    小编给大家分享一下SQL Server中set quoted_identifier的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了...
    99+
    2024-04-02
  • SQL Server中交叉联接的使用方法
    这篇文章主要介绍“SQL Server中交叉联接的使用方法”,在日常操作中,相信很多人在SQL Server中交叉联接的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • SQL Server数据库default value的使用方法
    这篇文章将为大家详细讲解有关SQL Server数据库default value的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  SQLServer数据库def...
    99+
    2024-04-02
  • SQL Server中怎么通过重建方式还原master数据库
    这期内容当中小编将会给大家带来有关SQL Server中怎么通过重建方式还原master数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体内容如下1、备份maste...
    99+
    2024-04-02
  • Sql Server事务语法及使用方法实例分析
    本文实例讲述了Sql Server事务语法及使用方法。分享给大家供大家参考,具体如下: 事务是关于原子性的。原子性的概念是指可以把一些事情当做一个不可分割的单元来看待。从数据库的角度看,它是指应全部执行或全...
    99+
    2024-04-02
  • Sql Server事务语法及使用方法的实例分析
    这篇文章将为大家详细讲解有关Sql Server事务语法及使用方法的实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实例讲述了Sql Server事务...
    99+
    2024-04-02
  • SQL SERVER 中identity用法
    在SQL Server中,IDENTITY用于创建自动增长的列,该列的值由数据库自动生成。IDENTITY列主要用于为表中的每一行提...
    99+
    2023-09-12
    SQL
  • navicat连接sql Server的方法
    这篇文章主要介绍navicat连接sql Server的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SqlServer数据的连接与mysql等数据库的连接差不多,但也有一些差异...
    99+
    2024-04-02
  • 在SQL Server中使用命令调用SSIS包的具体方法
    具体操作步骤如下: 1.首先,当然是要在Business Intelligence中设计好包,并调试通过。 2.然后,有两种方式可以在SQL Server中使用命令运行SSIS包 第...
    99+
    2022-11-15
    sql SSIS包
  • SQL Server 中 `JSON_MODIFY` 的使用
    SQL Server 中 JSON_MODIFY 的使用 Intro SQL Server 从 2016 开始支持了一些 JSON操作,最近的项目里也是好多地方字段直接存成了 JSON,需要了解一下怎么在SQL Server 中操作 JSO...
    99+
    2021-05-11
    SQL Server `JSON_MODIFY` 的使用
  • SQL Server中锁的用法
    目录通过锁可以防止的问题1、脏读2、非重复性读取3、幻读4、丢失更新可以锁定的资源锁升级和锁对性能的影响锁定模式1、共享锁2、排它锁3、更新锁4、意向锁5、模式锁6、批量更新锁锁的兼...
    99+
    2024-04-02
  • SQL Server 中 RAISERROR 的用法
    在SQL Server中,RAISERROR是一個用於發出自定義錯誤訊息的T-SQL語句。它可以用於捕捉並產生自定義的錯誤訊息,並將...
    99+
    2023-09-13
    sql
  • SQL Server DATEDIFF() 函数用法
    定义和用法 DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以...
    99+
    2024-04-02
  • SQL Server中RAISERROR的用法
    在SQL Server中,RAISERROR用于在T-SQL查询中引发一个错误消息。它的语法如下:RAISERROR ({msg_id | msg_str | @local_variable}       ...
    99+
    2023-08-11
    SQL Server
  • 查看sql server版本的方法
    小编给大家分享一下查看sql server版本的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!查看SQLServer版本信息...
    99+
    2024-04-02
  • 开启sql server服务的方法
    这篇文章给大家分享的是有关开启sql server服务的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。开启sql server服务的方法:1、点击开始菜单,找到sql ser...
    99+
    2024-04-02
  • SQL server有哪些分页方法
    这篇文章主要讲解了“SQL server有哪些分页方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL server有哪些分页方法”吧! ...
    99+
    2024-04-02
  • SQL Server误设置max server memory的处理方法
    昨天网上一网友说,由于他同事误将“max server memory”设置为10M后,SQL Server数据库登录不了,当时我简单测试了一下,今天有空就顺手将整个过程整理一下,记录在此。 在SSMS的UI...
    99+
    2024-04-02
  • SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法
    一、SQL Server 和SSMS的安装 1. SQL的安装 下载地址:SQL Server。 进入下载地址选择Developer或者Express都可以。 SQL Server 2019 Develop...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作