sql语句中查找某字段中含有某字符串的语句怎么写?

半角问号和全角问号是两个不同的字符。
您的 SQL 条件不只包含半角问号,但全角问号仍然匹配。

更改如下:
sql 从 oa_file 文件名中选择文件名,而不是像 '%[!-?]%' 并且文件名不喜欢 '%[! -? ]%'
或者使用正则表达式:
sql 文件名来自 oa_file,其中文件名不是 '[!-?! -? ]'
确保它用单引号引起来。

MySQL、SQLServer判断字符串是否包含某字符

嗯...MySQL的FIND_IN_SET...对...是判断字符串中的某个字符...是否出现过...
比如...2 02 2 年...我在做一个项目...那个城市...呃...上海...有一个字段...叫category y...里面存储的是...,这样的一个字符串...,一个字符串...”
我要判断...比如...是否有“蔬菜”...我就用... FIND_IN_SET('vegetables',category)...
如果返回值...不为 0...则意味着...有...返回的数字...是...位置...从 1 开始计数...
SQL Server 出现问题...相同类别...CHARIND 更多...查找“vegetables”...
只需使用... CHARINDEX('','vegetables', 'category')...
此函数...还返回位置...起始from 1 ...
但是请注意...SQLServer...中..."vegetable"...前后必须加一个空格...
之前...加一次...之后...
不然...有时会出问题...当时很困惑...查了好久...
而且...SQLServer...第二个参数...必须是字符串...不是int...
例如...如果是数字...例如, 1 2 3 ...
你必须使用引号...2 'tho...工作...
我后来意识到...也许我有偏见...我认为SQLServer函数...被覆盖...无论如何...我习惯使用MySQL...FIND_IN_SET...

sql中如何得出字符串中包含某字符子串的个数?

这条SQL语句和我做客户端数据统计时用的类似。

假设您在深圳,一年内处理了大约 5 ,000 条客户消息。
其中,共有 2 000 条消息提到“优惠活动”。
假设您想知道每条评论中提到“优惠”的平均次数。

代码的工作原理如下: 1 .@s='源字符串'。
这就像输入特定消息的内容,例如“这个促销太棒了!” 2 . @f='等待搜索字符串'。
这可能类似于您正在寻找的关键字,例如“促销”。
3 . select(len(@s)-len(replace(@s,@f,'')))/len(@f),这一步是核心。
我们首先计算原始字符串的长度,减去关键字替换后的长度,然后除以关键字本身的长度,最后得到关键字每次被提及的平均次数。

但是,请注意,在处理大量数据时,此方法可能会很慢,尤其是数据特别大时,例如 1 00,000 条记录。
在这种情况下,您可能需要优化查询或改变思维方式。

哦,顺便说一句,我有一个使用 SQL Server 的客户端。
当我运行这个查询时,处理 5 ,000 条记录大约需要 1 分钟。
然后我建议他添加一个索引。
结果是速度提高了 9 0%。
这很有趣。