mysql获取数组前两数据类型,sql获取数组指定元素、仅取数字、仅取字母以及字段截取大全、...
截取如json格式的数组
需求:获取字符数组1,2,3的第2个元素
方法:通过自定义函数来实现
/*
获取字符串数组某个元素
*/
if exists (select 1 from sysobjects where id = object_id('Get_StrArrayStrOfIndex' ))
drop Function Get_StrArrayStrOfIndex
go
create function Get_StrArrayStrOfIndex
(
@str varchar(5000 ), -- 要分割的字符串
@split varchar(10 ), -- 分隔符号
@index int --取第几个元素
)
returns varchar (5000)
as
begin
declare @location int
declare @start int
declare @next int
declare @seed int
set @str =ltrim( rtrim(@str ))
set @start =1
set @next =1
set @seed =len( @split)
set @location =charindex( @split,@str )
while @location <>0 and @index> @next
begin
set @start =@location+ @seed
set @location =charindex( @split,@str ,@start)
set @next =@next+ 1
end
if @location =0
select @location =len (@str)+ 1
return substring (@str, @start,@location -@start)
end
GO
用例:
print dbo.Get_StrArrayStrOfIndex('1,2,3',',',2)
SQL取字符串中的数字OR字母/*功能:获取字符串中的字母*/
CREATE FUNCTION dbo.F_Get_STR (@S VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^a-z]%',@S)>0
BEGIN
set @s=stuff(@s,patindex('%[^a-z]%',@s),1,'')
END
RETURN @S
END
GO
--测试
select dbo.F_Get_STR('测试ABC123ABC')
GO/*
功能:获取字符串中的数字
*/
create function dbo.F_Get_Number (@S varchar(100))
returns int
AS
begin
while PATINDEX('%[^0-9]%',@S)>0
begin
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
end
return cast(@S as int)
end
--测试
---select dbo.F_Get_Number('测试AB3C123AB5C')
GO
字符串函数截取(含mysql语法)
1、left(name,4)截取左边的4个字符
列:
SELECT LEFT(201809,4) 年
结果:2018
2、right(name,2)截取右边的2个字符
SELECT RIGHT(201809,2) 月份
结果:09
3、SUBSTRING(name,5,3) 截取name这个字段 从第五个字符开始 只截取之后的3个字符
SELECT SUBSTRING('成都融资事业部',5,3)
结果:事业部
4、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
SELECT SUBSTRING('成都融资事业部',3)
结果:融资事业部
5、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
SELECT SUBSTRING('成都融资事业部',-4)
结果:资事业部
6、SUBSTRING(name, -4,2) 截取name这个字段的第 4 个字符位置(倒数)开始取,只截取之后的2个字符
SELECT SUBSTRING('成都融资事业部',-4,2)
结果:资事
注意:我们注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。
7、substring_index(‘www.baidu.com’, ‘.’, 2) 截取第二个 ‘.’ 之前的所有字符
SELECT substring_index('www.baidu.com', '.', 2)
结果:www.baidu
8、substring_index(‘www.baidu.com’, ‘.’, -2) 截取第二个 ‘.’ (倒数)之后的所有字符
SELECT substring_index('www.baidu.com', '.', -2)
结果:baidu.com
9、SUBSTR(name, 1, CHAR_LENGTH(name)-3) 截取name字段,取除name字段后三位的所有字符
SELECT SUBSTR('成都融资事业部', 1, CHAR_LENGTH('成都融资事业部')-3)
结果:成都融资
mysql获取数组前两数据类型,sql获取数组指定元素、仅取数字、仅取字母以及字段截取大全、...相关推荐
- shell 获取字符串前两个字符串、获取字符串最后一个字符、去掉字符串最后一个字符、去掉末尾一个字符、去掉末尾两个字符
1. 获取字符串前两个字符串 temp=`echo $RANDOM|md5sum|sed 's/../&:/g'|cut -c 1-17` echo $temp echo ${temp:0:2 ...
- JavaScript-创建数组的两种方法,数组的遍历,lenght获取数组的长度,在数组末尾追加元素
数组概述 数组是一组相关数据的集合,其中的每一个值被称作元素,每个元素在数组中都有对应的位置(下标)就是元素的索引,通过下标就能很方便的获取对应下标的元素:当我们想要连续存放多个数据时就可以使用数组来 ...
- mysql查询每门功课成绩最好的前两名_用一个SQL查询语句得出每门功课成绩最好的前两名 - SQL Server论坛 - 51CTO技术论坛_中国领先的IT技术社区...
有一个学生表,里面有 学号 功课编号 学生成绩三个字段. 用一个SQL查询语句得出每门功课成绩最好的前两名 学号 功课编号 学生成绩 1 1 99 ...
- mysql每学科前两名 having_mysql 分组查询前n条数据
今天去面试,碰到一道面试题: 有一个学生成绩表,表中有 表id.学生名.学科.分数.学生id .查询每科学习最好的两名学生的信息: 建表sql: CREATE TABLE `stuscore` ( ` ...
- Js创建数组的两个方式和数组的索引方法
创建数组的两个方式 <script>//1.利用数组字面量var arr=[1,2,3,4,5];console.log(arr);//2.new Arrayvar arr2=new Ar ...
- mysql调用tag标签_dedeCMS使用SQL代码调用指定栏目tag标签教程
这篇文章主要为大家详细介绍了dedeCMS使用SQL代码调用指定栏目tag标签教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 我们在使用织梦dedecms建 ...
- oracle获取父级,如何通过sql获取oracle connect中的最终父id列
1像这样创建表 CREATE TABLE oracle_connet_by_test ( item_id NUMBER PRIMARY KEY, parent_id NUMBER, item_desc ...
- calender获取日期前几月_java获取当前时间和前一天日期(实现代码)
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request. ...
- php把这两个二维数组合并,两个二维数组的合并
合并前的数组a: array (size=3) 0 => array (size=2) 'id' => string '113' (length=3) 'email' => stri ...
最新文章
- linux中断响应时间太慢_linux+arm系统学习与基础学习
- 使用C#进行系统编程
- Codeforces Round #633 B. Edge Weight Assignment 结论题 + dp
- java警惕自增的陷阱
- 作者:王海洋(1980-),男,中国科学院计算技术研究所网络数据科学与技术重点实验室、烟台中科网络技术研究所工程师。...
- Qt工作笔记-使用Qt Creator运行和调试运行结果不一样(参数没有初始化)
- C# WinForm 文件上传下载
- 删了的微信怎么恢复?
- 爆一个VS2015 Update1更新带来的编译BUG【已有解决方案】
- 苹果手机上网很慢_手机信号满格,但上网速度却很慢?来听听通信专家怎么说的...
- pycharm 远程连接Linux
- 微信公众号80端口映射详解(一)
- 【数据分析】面经(搬运)
- Android Tips 8
- 曙光服务器怎么修改启动项,简单易上手 戴尔T5500工作站BIOS全设置
- 笔记本ubuntu安装xen之殇
- windows10纯净版系统安装/重装详细教程
- TM1637数码管显示
- BO Session Kill
- python123课题的答案_python 练习 选课系统 项目
热门文章
- mysql 环形复制_MySQL 复制(五:拓扑结构) | 剑花烟雨江南
- [算法]求质数的算法之Miller-Rabin算法,C语言实现
- power bi 跨表计算_现代企业BI使命之打造数据文化——微软Build大会PowerBI解读
- 大话手游网页无法链接到服务器,大话西游手游网页版IE浏览器设置教程 IE浏览器问题解决指南...
- Linux服务器配置与管理
- 【项目精选】基于Java的超级玛丽游戏的设计与实现(源码+论文+视频)
- 计算机系统与手机系统,中国什么时候才有国产电脑系统和手机系统?
- 数据分析师成长路径-第四阶段
- 创建表的时候创建索引
- java hook jna鼠标_JNA介绍及使用JNA监听鼠标实现