mysql 截取域名_sql 截取域名的问题

sql 截取域名的几种方法总结,需要的朋友可以参考一下

最近由于对数据库的域名要排重,因为sql直接使用起来方便一些,就整理下

A.截取从字符串左边开始N个字符

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select Left(@S1,4)

------------------------------------

显示结果: http

B.截取从字符串右边开始N个字符(例如取字符www.jb51.net)

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select right(@S1,11)

------------------------------------

显示结果: www.jb51.net

C.截取字符串中任意位置及长度(例如取字符www)

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select SUBSTRING(@S1,8,3)

------------------------------------

显示结果: www.jb51.net

以上例子皆是已知截取位置及长度,下面介绍未知位置的例子

2.截取未知位置的函数

A.截取指定字符串后的字符串(例如截取http://后面的字符串)

方法一:

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))

/*此处也可以这样写:Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/

------------------------------------

显示结果: www.jb51.net

需要注意:CHARINDEX函数搜索字符串时,不区分大小写,因此CHARINDEX('www',@S1)也可以写成CHARINDEX('WWW',@S1)

方法二:(与方法一类似)

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))

--此处也可以这样写:Select Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))

------------------------------------

显示结果: www.jb51.net

函数PATINDEX与CHARINDEX区别在于:前者可以参数一些参数,增加查询的功能

方法三:

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select REPLACE(@S1,'http://','')

------------------------------------

显示结果: www.jb51.net

利用字符替换函数REPLACE,将除需要显示字符串外的字符替换为空

方法四:

代码如下:

Declare @S1 varchar(100)

Select @S1='http://www.jb51.net'

Select STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')

------------------------------------

显示结果: www.jb51.net

函数STUFF与REPLACE区别在于:前者可以指定替换范围,而后者则是全部范围内替换

B.截取指定字符后的字符串(例如截取C:\Windows\test.txt中文件名)

与A不同的是,当搜索对象不是一个时,利用上面的方法只能搜索到第一个位置

方法一:

代码如下:

Declare @S1 varchar(100)

Select @S1='C:\Windows\test.txt'

select right(@S1,charindex('\',REVERSE(@S1))-1)

-------------------------------------

显示结果: text.txt

利用函数REVERSE获取需要截取的字符串长度

上面的这些方法能解决基本问题,但当本身数据库中的域名不是标准的域名整体(例:http://a.com、http://a.com/a.aspx、http://www.a.com/www/a.aspx)

这个时候截取的sql就要复杂点了,最终的关键还是在于善用 Substring,charindex两个函数,基本都可以解决

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优秀工程师必备的三大思维,你拥有哪些?

不同岗位、不同职责的技术人对工程师思维的深度要求是不一样的,但从多维度去思考却应是每个技术人都应该具备的素养。本文整理自阿里巴巴高级技术专家至简在团队内部的个人分享,希望通过对工程师思维的分析和解读,让大家能正确对待那些在现实…

看完这篇还不了解Nginx,那我就哭了!

戳蓝字“CSDN云计算”关注我们哦!作者 | 蔷薇Nina责编 | 阿秃想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache 吧!Nginx 的产生Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格&…

迁移学习NLP:BERT、ELMo等直观图解

2018年是自然语言处理的转折点,能捕捉潜在意义和关系的方式表达单词和句子的概念性理解正在迅速发展。此外,NLP社区已经出现了非常强大的组件,你可以在自己的模型和管道中自由下载和使用(它被称为NLP的ImageNet时刻)。…

python如何仿写文章_python,python3.x_求助,用python仿写以下代码,python,python3.x,java - phpStudy...

求助&#xff0c;用python仿写以下代码public static void main(String[] args) {Scanner scnew Scanner(System.in);int nsc.nextInt();int[] flagnew int[29];float[] anew float[29];for(int i0;ia[i](float)1.0/(float)(i2);}for(int j1;j<Math.pow(2, 29);j){int tempj…

开发函数计算的正确姿势 —— 爬虫

在 《函数计算本地运行与调试 - Fun Local 基本用法》 中&#xff0c;我们介绍了利用 Fun Local 本地运行、调试函数的方法。但如果仅仅这样简单的介绍&#xff0c;并不能展现 Fun Local 对函数计算开发的巨大效率的提升。 这一次&#xff0c;我们拿一个简单的场景来举例子——…

SonarQube 规则的挂起与激活

文章目录规则添加规则挂起规则添加 规则挂起

内存性能的正确解读

一台服务器&#xff0c;不管是物理机还是虚拟机&#xff0c;必不可少的就是内存&#xff0c;内存的性能又是如何来衡量呢。 1. 内存与缓存 现在比较新的CPU一般都有三级缓存&#xff0c;L1 Cache&#xff08;32KB-256KB&#xff09;&#xff0c;L2 Cache&#xff08;128KB-2M…

2019年技术盘点云数据库篇(一):UCloud专家谈云数据库:千锤百炼 云之重器

作者 | 刘丹 出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09; 公有云逐渐成为企业运行 IT 设施的新趋势&#xff0c;那么作为企业最核心的系统—数据库&#xff0c;数据上云也成为大数据时代的必然选择。对企业来说&#xff0c;数据可视为其命脉&#xff0…

wxpython富文本_去除富文本编辑器中的标签

public static String deRegularExpression(String content) {content deRegularScript(content); // 过滤script标签String regEx_style "/* String regEx_inStyle "style\"([^\";];?)\""; */String regEx_html "<[^>]>&quo…

专访阿里云专有云马劲,一个理性的理想主义者

“我的故事都是和团队技术相关的&#xff0c;自己还真没有什么引人入胜的故事。”当马劲被问到能不能多分享些个人经历故事时他笑着说&#xff0c;我们就干脆怀着好奇聊了聊他和阿里云专有云一路走来的故事。 马劲&#xff0c;花名隆猫&#xff0c;阿里云专有云事业部兼企业应用…

80后阿里P10,“关老板”如何带着MaxCompute一路升级?

我是个幸运的人。虽然幸运不能被复制&#xff0c;但是眼光和努力可以。 关涛/关老板&#xff0c;80后的阿里P10&#xff0c;阿里巴巴通用计算平台负责人&#xff0c;阿里巴巴计算平台研究员。12年职场人生&#xff0c;微软和阿里的选择。 关涛的花名取自谐音&#xff1a;观涛。…

【重磅快讯】T11 2019数据智能技术峰会举办,AI将成为行业颠覆者

当前数据的价值日益凸显&#xff0c;已成为重要的生产要素和社会财富。云计算、人工智能、5G等技术的蓬勃发展&#xff0c;带来了智能化时代算力的提升。以数据为“能源”、以技术为“引擎”&#xff0c;才能将数据转化为智能&#xff0c;产生突破局限、跨越发展的力量。11月25…

java内部类实现方式_Java内部类详解

一 内部类是什么Java类中不仅可以定义变量和方法&#xff0c;还可以定义类&#xff0c;这样定义在类内部的类就被称为内部类。根据定义的方式不同&#xff0c;内部类分为静态内部类&#xff0c;成员内部类&#xff0c;局部内部类&#xff0c;匿名内部类四种。Java为什么要引入内…

如何创建一个数据科学项目?

假如你想要开始一个新的数据科学项目&#xff0c;比如对数据集进行简单的分析&#xff0c;或者是一个复杂的项目。你应该如何组织你的项目流程&#xff1f;数据和代码要放在那里&#xff1f;应该使用什么工具&#xff1f;在对数据处理之前&#xff0c;需要考虑哪些方面&#xf…

Spring boot + mybatis + oracle代码生成器

在pom文件中加入依赖 <build><plugins><!--逆向工程--><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration…

i 智慧 | IBM存储:全面贯彻新存储的“智慧之道”

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘丹责编 | 阿秃出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;随着移动互联网、信息技术等创新发展&#xff0c;数据量呈指数级爆发式增长并表现在多个方面&#xff0c;即规模扩张、结构多元化的数据新…

二十分钟教你如何将区块链应用与函数计算相结合

前言 本篇文章适合对区块链应用感兴趣或是想要通过函数计算服务进一步开发区块链应用的新人。本文将结合阿里云区块链服务、阿里云函数计算服务、阿里云日志服务 以及社区应用 Marbles&#xff0c;手把手教大家如何将阿里云区块链服务与阿里云函数计算服务相结合&#xff0c;并…

java实现rsa欧几里得算法求d_RSA算法中利用欧几里得算法求d详细过程

文章转自新浪博客任家正文&#xff1a;RSA是第一个也是使用的最广泛的公钥加密算法&#xff0c;在1978年由R.Rivest、AdiShamir和Adleman三人发明&#xff0c;并以他们的名字命名。RSA算法的安全性基于大数因子分解的困难性&#xff0c;下面介绍一下它的基本原理&#xff1a;1、…

Spring项目启动加载xml配置文件替换数据库提高响应速度

文章目录1. pom依赖2. xml配置文件3. 获取参数工具类4. 根据beanId从SpringBootIOC获取类实例工具类5. 测试类6. 浏览器控制台验证1. pom依赖 <properties><!--全局版本控制--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><…