【Sql Server】 master..spt_values 使用方法[亲测有效]

【Sql Server】 master..spt_values 使用方法[亲测有效]大概在去年的时候,做项目中遇到这么一个需求,如图所示,根据Type字段筛选查找对应数据行,并找到该行字段为Levels中值最小的数据,例如当Type=1的时候,取出来的是0,当Type=2的时候,取出

【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<>””

然后就可以得到结果了

【Sql Server】 master..spt_values 使用方法[亲测有效]

【Sql Server】 master..spt_values 使用方法[亲测有效]

【Sql Server】 master..spt_values 使用方法[亲测有效]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7513.html

(0)
上一篇 2023-03-19
下一篇 2023-03-19

相关推荐

  • Python文件读取函数f.read()使用方法

    Python文件读取函数f.read()使用方法f.read()函数用于从文件中读取指定数量的字符并将其作为字符串返回。在使用该函数时,需要先打开要读取的文件,然后调用文件对象的read()方法。

    2024-03-18
    81
  • MySQL架构体系[亲测有效]

    MySQL架构体系[亲测有效]MySQL基本架构(一条SQL语句的执行过程) MySQL主要可以分为Server层和存储引擎层。 Server层包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现。

    2023-04-15
    164
  • 数据库死锁排查及处理方法视频_数据库的死锁会一直等待

    数据库死锁排查及处理方法视频_数据库的死锁会一直等待MySQL查看死锁和解除锁 的两种方法 第一种: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程(如果您有SUPER权限,您可以看到所有线程。否…

    2023-02-25
    148
  • 如何在Pycharm中删除项目

    如何在Pycharm中删除项目PyCharm是一款比较流行的Python IDE(集成开发环境),它为Python开发者提供了非常方便的开发环境。如果你是一个PyCharm用户,你可能会发现自己在使用它的时候,会有一些不必要的项目残留在你的开发环境中。那么,在这种情况下,如何从PyCharm中删除这些项目呢?本文将从多个方面详细介绍如何在Pycharm中删除项目。

    2024-09-03
    27
  • 程序日志停止滚动问题排查「建议收藏」

    程序日志停止滚动问题排查「建议收藏」今天在做定时任务的时候,遇到了一个比较难搞的问题,这个问题也比较有意思,现在给大家分享一下,这个定时任务的调用入口是这样的。 // 进行 ldap同步 public void runLdapSyncJ

    2022-12-18
    139
  • Python实现字符串和数字拼接

    Python实现字符串和数字拼接在Python编程中,字符串和数字的拼接是一个非常常见的操作,可用于打印输出、数据加工等场景。在Python中,实现字符串和数字的拼接有多种方式,比如使用字符串格式化、拼接符号、转换为字符串后拼接等方法。本文将带您深入了解Python实现字符串和数字拼接的常用方法和技巧。

    2024-07-08
    42
  • Python A Min:快速高效的数据分析工具

    Python A Min:快速高效的数据分析工具Python一直以来都是数据科学家、数据工程师和分析师的首选编程语言之一。它易于学习,支持大量的第三方包和库,而且最重要的是,Python能够以更快捷、更高效、更灵活的方式进行数据处理和分析。

    2024-03-01
    98
  • postgres 在liunx上安装步骤

    postgres 在liunx上安装步骤#postgres useradd postgres chown -R postgres:postgres /media su postgres mkdir -p /media/Data1/postg

    2023-02-17
    165

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注