字符串处理示例--列车车次查询.sql
--列车车次信息数据表
CREATE TABLE tb(col varchar(100))
INSERT tb SELECT '1434/1/2/14'
UNION ALL SELECT '"10653(85707)"'
UNION ALL SELECT '"32608/7(83212/1)"'
UNION ALL SELECT '"50057()"'
UNION ALL SELECT '"T888(备)"'
UNION ALL SELECT '"21058(81404/3)0"'
UNION ALL SELECT '"22028(80404.10264)"'
UNION ALL SELECT '20037(80303.84006/9)'
UNION ALL SELECT '24031(80410/9'
UNION ALL SELECT '24048(80904)(23118)'
UNION ALL SELECT '22080(80406.83080.10284)'
UNION ALL SELECT '0031(5632 5629. 1434/1/2/14)'
CREATE FUNCTION dbo.f_CompSTR(
@str varchar(8000), --包含车次的字符串
@find varchar(50) --要查询的值
)RETURNS bit
AS
BEGIN
IF @str=@find RETURN(1)
IF LEN(@str)<LEN(@find) RETURN(0)
--替换掉车次字符串中的无效数据
SELECT @str=REPLACE(@str,a,b)
FROM(--采用表集的处理方法,是为了方便以后扩充处理其他无效数据
SELECT a='"',b='')a
--统计数据分隔符
SELECT @str=REPLACE(@str,a,b)
FROM(
SELECT a='(',b='\' UNION ALL
SELECT a=')',b='\' UNION ALL
SELECT a='(',b='\' UNION ALL
SELECT a=')',b='\' UNION ALL
SELECT a=' ',b='\' UNION ALL
SELECT a=' ',b='\' UNION ALL
SELECT a='.',b='\' UNION ALL
SELECT a='.',b='\')a
--分拆比较处理
DECLARE @s1 varchar(8000),@h varchar(100),@s varchar(100),@l int
WHILE @str>''
BEGIN
SELECT @s1=LEFT(@str,CHARINDEX('\',@str+'\')-1),
@str=STUFF(@str,1,CHARINDEX('\',@str+'\'),''),
@h=LEFT(@s1,CHARINDEX('/',@s1+'/')-1),
@l=LEN(@h)+1
IF @h=@find RETURN(1)
WHILE CHARINDEX('/',@s1+'/')>0
BEGIN
SELECT @s=LEFT(@s1,CHARINDEX('/',@s1+'/')-1),
@s1=STUFF(@s1,1,CHARINDEX('/',@s1+'/'),'')
IF LEN(@s)<@l
SET @s=STUFF(@h,@l-LEN(@s),8000,@s)
IF @find=CASE
WHEN LEN(@s)<@l THEN STUFF(@h,@l-LEN(@s),8000,@s)
ELSE @S END
RETURN(1)
END
END
RETURN(0)
END
GO
--调用上述函数查询包含车次1434的记录
SELECT * FROM tb WHERE dbo. f_CompSTR(col,’143’)=1
转载于:https://www.cnblogs.com/dushu/archive/2012/05/18/2507906.html
字符串处理示例--列车车次查询.sql相关推荐
- 15.字符串处理案例--列车车次查询
--列车车次信息数据表 CREATE TABLE tb(col varchar(100)) INSERT tb SELECT '1434/1/2/14' UNION ALL SELECT '" ...
- 列车车次查询-余票查询-Api接口
查接口找到的,分享给大家,希望对大家以后开发有用 火车车次查询-余票查询--Api接口 1.来自12306的火车车次数据 使用12306网站的接口,查询余票.此接口采集自这里.全国火车站代号字典,下载 ...
- 列车车次查询系统php源码,火车票务系统源代码(含数据库)
火车票务系统源代码(含数据库) c# 2020-10-17 下载地址 https://www.codedown123.com/44077.html 资源下载此资源下载价格为3D币,请先登录 资源文件列 ...
- 研究一下列车时刻表的后台表结构和常用的查询SQL
刚开始上班,闲着没什么事情,搞到一份2012年1月1号的列车时刻表数据库,是access版本的,稍后我会给出下载链接,研究了一下表结构,觉得这样的表结构还是比较合理的.于是也考虑了一下大家经常使用的时 ...
- 火车车次查询api代码文档及返回示例分享
火车车次查询api代码文档及返回示例分享,支持出发站名称.到达站名称.车次类型等查询,将其集中到APP中,使用更加方便. 接口名称:火车车次查询api 接口平台:api接口 接口地址:http://a ...
- 火车车次查询-余票查询--Api接口
1.来自12306的火车车次数据 使用12306网站的接口,查询余票.此接口采集自这里.全国火车站代号字典,下载 . 如有转载,请标明来自此出处http://blog.csdn.net/qxs9652 ...
- 如何定位并优化慢查询Sql
根据慢日志定位慢查询SQL. 查询慢日志相关变量,并进行设置: 主要关注下述三个变量: long_query_time.show_query_log_file.show_query_log 慢查询sq ...
- 面试官:说说一条查询sql的执行流程和底层原理?
作者:孤独烟,资深后端工程师,业内知名原创作者 一条查询SQL执行流程图如下 本文改编自<高性能Mysql>,烟哥用小说的形式来讲这个内容. 序章 自我介绍 我是一条sql,就是一条长长的 ...
- memcachedb 加 memcached engine无法提高 示例检索的查询速度
memcachedb 加 memcached engine无法提高 示例检索的查询速度,原因参加下文中红字所是 http://blog.s135.com/post/357/#entrymore 鉴于国 ...
最新文章
- ACCP学习旅程之-----使用C#开发数据库应用程序(第二章)
- php 后台进程,php是否适合做后台长驻程序
- 您的数据中心UPS电池开关不能再选错和接错了
- 同一进程中同一端口如何区分不同的Socket
- #再一次用construct2做游戏
- 如何处理大流量高并发
- VS2017创建ASP.NET Core Web程序
- 从像素坐标到相机坐标_多视图几何基础——深入理解相机内外参数
- 每日算法系列【LeetCode 330】按要求补齐数组
- 电脑远程连接已停止工作 解决方案
- JavaScript-162:表格隔行变色
- microsoft拼图闪退_笔者解答win10系统Microsoft Jigsaw(微软拼图)出现闪退的修复技巧...
- 打印html并去掉页眉页脚
- 冷暖自知!史玉柱:巨人失败时,找一圈朋友借钱被拒,但幸亏如此
- 反向传播算法为什么要“反向”
- Shadowify 高级感投影photoshop/ps插件
- sdut oj2133 数据结构实验之栈三:后缀式求值
- Android直播开发之旅(15):libjpeg库的编译移植与使用
- 电子不停车收费系统(ETC)专题(1)——系统概述
- 【JavaEE】网络编程基础之Socket套接字
热门文章
- android adb 开机广播,Android中常用的adb指令
- mysql评论表结构设计_文章评论嵌套显示mysql表结构如何设计(形式如网易新闻评论)...
- Redis 缓存 Key
- vue element-ui登录页面源码
- java服务器和linux_在Linux下开一个Java服务器(使用CatServer Pro)
- edge如何导入html文件收藏夹,edge浏览器收藏夹如何导入?edge浏览器收藏夹导入方法...
- Linux实验四:编译和调试工具的使用
- 使用nginx分片功能提升缓存效率,支持可拖拽式播放视频
- UNIX(进程间通信):02---父子进程之间的数据共享分析
- 根据当前docker容器生成镜像提交到远端服务器