MS SQL server有一个函数PARSENAME ( 'object_name' , object_piece )。

函数有2个参数:

Object_name
检索的对象名称。即是:服务器名.数据库名.所有者.对象名
Object_piece
是检索的对象类型。其值为1~4。
 
比如,为存储过程或自定义函数传入表名:TABLE_CATALOG.TABLE_SCHEMA. TABLE_NAME.COLUMN_NAME动态操作数据表时。
 
举个列:
 
 
DECLARE @str  NVARCHAR(MAX) = N'testdb.dbo.table_part.qty'

SELECT
PARSENAME(@str,4) AS [TABLE_CATALOG],
PARSENAME(@str,3) AS [TABLE_SCHEMA],
PARSENAME(@str,2) AS [TABLE_NAME],
PARSENAME(@str,1) AS [COLUMN_NAME]
GO

Source Code

 另外一个演示,定义一个表变量,随机添加存储一些IP地址:
 
 
 然后SELECT表,并使用ORDER BY进行排序:
 
 
这种排序结果,并非是我们想要的,它只是按每一段首数字大小进行排序。
这是为什么,因为这些IP地址,并非是标准IP地址。
把IP地址,转换为标准IP,参考这篇《转换为标准IPv4格式https://www.cnblogs.com/insus/p/10958864.html
以上的这个函数,也有使用PARSENAME函数时行处理。
 
 
 
;WITH cte_ips AS
(
SELECT [IPv4],[dbo].[svf_ConvertToStandardIPv4]([IPv4]) AS [std_ip] FROM @ips
)
SELECT [IPv4],[std_ip] FROM cte_ips
ORDER BY PARSENAME([std_ip],4),
PARSENAME([std_ip],3),
PARSENAME([std_ip],2),
PARSENAME([std_ip],1)

Source Code

函数PARSENAME使用和截取字符串的更多相关文章

  1. SqlSever基础 left函数 从左边开始截取字符串

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  2. SQL依据特殊符号分批截取字符串(案例)

    网上的问题: 下面是Insus.NET的解决办法,仅供参考. )) INSERT INTO #temp([Source]) VALUES ('2012-04-27 16:49:24$1$2'), (' ...

  3. 用jstl截取字符串

    用jstl截取字符串 2011-08-01 08:55 5485人阅读 评论(0) 收藏 举报 stringfunctionjavahtmljspencoding jstl以前在jsp页面截取字符串时 ...

  4. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  5. SQL Server中截取字符串常用函数

    SQL Server 中截取字符串常用的函数: .LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截 ...

  6. Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数

    怎么样可以从一串字符中的某个指定位置的前或后截取指定个数的字符. 如:12345.6789,我要截取小数点前(或后)的3个字符.怎么样操作, 另外,怎么样从右边截取字符,就是和left()函数相反的那 ...

  7. SQL注入截取字符串函数

    在sql注入中,往往会用到截取字符串的问题,例如不回显的情况下进行的注入,也成为盲注,这种情况下往往需要一个一个字符的去猜解,过程中需要用到截取字符串.本文中主要列举三个函数和该函数注入过程中的一些用 ...

  8. Thinkphp内置截取字符串函数

    Thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便.调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用. 比如今天我们说的截 ...

  9. Sql注入截取字符串常用函数

    在sql注入中,往往会用到截取字符串的问题,例如不回显的情况下进行的注入,也成为盲注,这种情况下往往需要一个一个字符的去猜解,过程中需要用到截取字符串.本文中主要列举三个函数和该函数注入过程中的一些用 ...

随机推荐

  1. Java for LeetCode 127 Word Ladder

    Given two words (beginWord and endWord), and a dictionary, find the length of shortest transformatio ...

  2. Java for LeetCode 089 Gray Code

    The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...

  3. python获取本机IP地址

    方法一 通常使用socket.gethostname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称) import socket #获取计算机名称hostname=socke ...

  4. UML类图几种关系的总结 ---(转载)

    在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Compositi ...

  5. (KEILv5)使用matlab绘制从KEIL memory导出的内存数据

    使用matlab绘制从KEIL memory导出的内存数据 如标题,某些时候我们需要分析keil调试过程中的数据,比如从I2S.SPI.I2C或者UART获取到的波形数据,这些数据时数字流,通过逻辑分 ...

  6. iOS开发中集成Reveal

    [转]http://blog.devzeng.com/blog/ios-reveal-integrating.html 配置方式一简介有效. Reveal 是一个界面调试工具.使用Reveal,我们可 ...

  7. ES6 Set数据结构

    Set ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. const s = new Set(); // const声明一个只读的常量.一旦声明,常量的值就不能 ...

  8. Smack编程库进行代码功能调试

    http://www.tuicool.com/articles/U3Afiy 使用Smack编程库进行代码功能调试 关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利 ...

  9. 机器视觉 Local Binary Pattern (LBP)

    Local binary pattern (LBP),在机器视觉领域,是非常重要的一种特征.LBP可以有效地处理光照变化,在纹理分析,纹理识别方面被广泛应用. LBP 的算法非常简单,简单来说,就是对 ...

  10. bzoj 3653 谈笑风生——主席树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3653 原来一直想怎么线段树合并.可是不会把角标挪一位. 查询的其实是子树内一段深度的点的 s ...