sql 字符串截取问题

冥思-苦想 2018-08-25 10:40:58
字符串举例:1[17:04:43],2[17:05:34],3[17:05:41]
字符串以逗号进行分隔,逗号个数不固定;
比如我传入1即截取17:04:43
3 即截取17:05:41
...全文
177 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2018-08-25
  • 打赏
  • 举报
回复
DECLARE @str    VARCHAR(MAX) ='1[17:04:43],2[17:05:34],3[17:05:41]'
, @Param1 VARCHAR(3) =2;

SELECT CONVERT(xml,
'<c id="'+REPLACE(REPLACE(REPLACE(
@str, '[', '" v="'),
'],', '"/><c id="'),
']', '"/>')
).value('(/c[@id=sql:variable("@Param1")]/@v)[1]', 'varchar(10)')
中国风 2018-08-25
  • 打赏
  • 举报
回复
DECLARE @str    VARCHAR(MAX) ='1[17:04:43],2[17:05:34],3[17:05:41]'
, @Param1 VARCHAR(3) =3;


SELECT SUBSTRING(
@str
, CHARINDEX(@Param1+'[', @str) +2
, CHARINDEX(']', @str, CHARINDEX(@Param1+'[', @str)) -CHARINDEX(@Param1+'[', @str) -2);
/*
(无列名)
17:05:41
*/

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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