SQLServer中截取字段的问题

月影雕零 2017-07-05 11:32:41
比如一个字段是: 0.9%氯化钠注射液(100ml:0.9g/瓶) 静滴 40滴/分 每日三瓶

怎么截取“每日三瓶”前的字段,按照空格截取(也有可能是换行)
或者截取第二个空格后的字段‘40滴/分’
...全文
268 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
月影雕零 2017-07-12
  • 打赏
  • 举报
回复
引用 3 楼 doloopcn 的回复:
MSSQL Server2005版本及以上有一个函数IIF,其实就是IF的递归函数,写成DELPHI演示代码: function IIF(Condition:BOOLEAN;TruieResult,FalseResult:Varaint):Varaint; begin IF Condition Then Result:=TrueResult Else Result:=FalseResult; end; 你可以利用这个函数将包含空格的表达式递归截取到你想要的位置
谢谢,我试试呢。如果有用就采纳了
doloopcn 2017-07-07
  • 打赏
  • 举报
回复
MSSQL Server2005版本及以上有一个函数IIF,其实就是IF的递归函数,写成DELPHI演示代码: function IIF(Condition:BOOLEAN;TruieResult,FalseResult:Varaint):Varaint; begin IF Condition Then Result:=TrueResult Else Result:=FalseResult; end; 你可以利用这个函数将包含空格的表达式递归截取到你想要的位置
月影雕零 2017-07-07
  • 打赏
  • 举报
回复
引用 1 楼 tanqth 的回复:
select id, substring(str,charindex(' ',str)+1,len(str)-charindex(' ',str)) from test; 1.substring 返回字符、binary、text 或 image 表达式的一部分。 基本语法:SUBSTRING ( expression , start , length ) expression:字符串、二进制字符串、text、image、列或包含列的表达式 start:整数,指定子串的开始位置 注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符 length:整数,指定子串的长度(要返回的字符数或字节数) 2.patindex 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。 基本语法:PATINDEX ( '%pattern%' , expression ) pattern:字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式 expression:表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别
能有直接运行就能得出结果的代码吗?我看不懂吖
tanqth 2017-07-05
  • 打赏
  • 举报
回复
select id, substring(str,charindex(' ',str)+1,len(str)-charindex(' ',str)) from test; 1.substring 返回字符、binary、text 或 image 表达式的一部分。 基本语法:SUBSTRING ( expression , start , length ) expression:字符串、二进制字符串、text、image、列或包含列的表达式 start:整数,指定子串的开始位置 注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符 length:整数,指定子串的长度(要返回的字符数或字节数) 2.patindex 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。 基本语法:PATINDEX ( '%pattern%' , expression ) pattern:字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式 expression:表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别
本课程根据讲师十多年在世界500强外企的生产环境的SQL Serer数据库管理和项目实施经验倾心打造。课程系统性强,知识体系完整,覆盖90%以上的企业环境下SQL Server高可用场景,课程不仅演示详细的操作步骤,更加突出最常见的故障和问题,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范,满满的干货分享,一些课程资料(架构图、部署规划表格等)不仅可以帮助学员掌握技能,也可以作为学员在企业生产环境实施SQL Server高可用的配置文档、操作手册等。课程的实验环境介绍:1)全部基于微软域环境和企业版SQL Server AOAG - 95%以上的企业环境都是在域环境,不介绍非域环境和标准版的SQL Server高可用性组,这的配置在企业较罕见,没有实践意义,不浪费学员时间。2)相应域环境已提前部署和配置好 - 学员导入虚拟机即可开始实验,无需从零开始搭建域环境,所有实验SQL Server均已加域,直入主题,节省大量时间。3)最新的Windows Server故障转移集群(WS2016、WS2019)和最新版本的SQL Server(SQL2017、SQL2019) -  WS2016-SQL2017与WS2019-SQL2019是目前大多数企业SQL Server高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。本课程为后续SQL Server进阶课程铺垫,是通向SQL Server DBA 专家的必经之路,讲师每周答疑两次。所有课程资料包括:课程PPT、架构图、部署规划表格、各类脚本学员均可下载。     

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧