匹配一串字符

delectation 2008-04-01 10:02:27
表里有个字段类型是 ntext
内容格式:原文 [反馈] 2007-12-19 14:26:56 反馈内容

说明:这个字段的内容先是:原文 后面有2个空格 然后是 [反馈]加两个空格再加上日期加上两个空格加上反馈内容


效果取:原文,反馈内容,反馈日期

如:
apple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了


原文 反馈内容 反馈日期
apple好吃吗? 太好吃了 2007-12-18 16:14:53

如果有难度或不能实现这样也行
原文 反馈内容
apple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了

一定要考虑到原文有这样的串[反馈]加两个空格再加上日期
...全文
91 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyyyzzzz_2002 2008-04-01
  • 打赏
  • 举报
回复
ntext 字段操作很麻烦,建议改用nvarchar(max)
nextflying 2008-04-01
  • 打赏
  • 举报
回复
提取 合并
wangxuelid 2008-04-01
  • 打赏
  • 举报
回复


Create table a1
(a ntext)

insert into a1 select 'apple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了 '

select substring(a,1,charindex('[反馈]',a)-1)as '主题','[反馈]'as 反馈 ,
ltrim(rtrim(substring(reverse(convert(varchar(8000),a)),1,charindex(':',reverse(convert(varchar(8000),a)))-3))),
substring(a,charindex('[反馈]',a)+4,charindex('[反馈]',a)+10)
from a1

--
apple好吃吗? [反馈] 了吃好太 2007-12-18 16:14:53
delectation 2008-04-01
  • 打赏
  • 举报
回复
text in row是多少?
什么意思,不明白
-狙击手- 2008-04-01
  • 打赏
  • 举报
回复
text in row是多少?
如果非文件指针直接转varchar,然后charindex,substring()
wangxuelid 2008-04-01
  • 打赏
  • 举报
回复

'匹配'
select * from time where a like '%[0-9][0-9][0-9][0-9][-][0-9][0-9][-][0-9][0-9] [0-9][0-9][:][0-9][0-9][:][0-9][0-9]%'
wangxuelid 2008-04-01
  • 打赏
  • 举报
回复

--上面的确的出答案,但是在判断哪个时间‘2007-12-18 16:14:53 ’却是比较棘手,因为无法保证在回复里面没有时间的‘:’,所以首先要模糊查询时间所在的位置才是这个问题的核心,,,
例如
'apple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了:'
'apple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了 '
apple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了:'

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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