如何解决数据中的SQL通配符
我的情况有点奇怪。我已经生成了插入数据库的文件名,以后将与下载的文件进行匹配,但是下载的文件名中间包含一个随机ID。
如果我在插入数据库的生成文件名中包含通配符,是否可以将其与实际下载的文件进行比较?
生成的名称示例:just-a-file-name-and-a-suffix.mp4
实际下载的文件:just-a-file-name-51935-and-a-suffix.mp4
我有零种方法可以真正知道这5位数字。我只知道会有5位数字。理想情况下,我会将生成的名称插入just-a-file-name-%-and-a-suffix.mp4
之类的数据库中,并在SQL查询中使用LIKE
关键字,但这种方式行不通。
我能做些什么来解决这个问题并得到比赛吗?
解决方法
如果愿意,可以使用子字符串,替换和其他一些功能。 以下是使用replace并为其创建函数的示例。
` 创建函数[dbo]。[RemoveNumericCharacters](@ Temp VarChar(1000)) 返回VarChar(1000) 如 开始
Declare @NumRange as varchar(50) = '%[0-9]%'
While PatIndex(@NumRange,@Temp) > 0
Set @Temp = Stuff(@Temp,PatIndex(@NumRange,@Temp),1,'')
Return @Temp
结束 您可以像这样使用它
从TARGET_TABLE中选择dbo.RemoveNumericCharacters ` 取自以下帖子-Remove numbers from string sql server
请注意,您要将文件字符串传递给该函数,它将返回不带数字的文件名。
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。