sql按某一字段内容进行提取数据

这就是方法。
1 . SUBSTR(shop_order.createtime,1 ,7 ) 截取日期。
在 2 02 3 -01 示例中,格式必须正确。
2 . content->>'$.Execution_date' 提取 JSON。
MySQL语法,键名必须准确。
3 . WHERE 状态=过滤器“活动”。
条件查询 LIKE 可能会令人困惑。
4 . 加入协会 o.customer_id=c.id。
对于多表提取,ON条件必须严格。
5 . 部门统计组。
COUNT() 计算数量并将其分组。

不要相信模糊运算,不要这样做。
索引被添加到 WHERE 字段。

sql 中 substring 用法_sql 中 substring 截取子串教程

sql截取指定字符前面?

那天我在公司数据库中查找信息,无意中发现一个表中的字段名被下划线分成了两部分,例如“case_name_1 2 3 ”。
我心想,如果我想提取前面的部分,例如“case_name”,我应该如何编写SQL查询呢?
突然想起了LEFT函数,这个函数好像可以截断字符串左边的部分。
然后我想到了charindex函数,它似乎可以找到特定字符的位置。
于是我尝试写一条SQL语句:
sql SELECT LEFT(case_name, CHARINDEX('_', case_name)
1 ) AS new_case_name 来自表1 ;
该语句的含义是从“case_name”字段中找到下划线“_”的位置,然后截断下划线左边的部分,并将新截断的部分命名为“new_case_name”。

结果,执行这个查询后,我得到了我想要的结果。
但是,我注意到如果在 SELECT 语句后不添加 WHERE 子句,例如:
sql SELECT LEFT(case_name, CHARINDEX('_', case_name)
1 ) AS new_case_name 来自表1 ;
会报错:“传递给LEFT或SUBSTRING函数的长度参数无效。
”这让我意识到,当我们使用这些函数时,需要确保参数有效。

想到这里,我突然想到,如果没有下划线怎么办?如果字段名称是纯数字或没有特殊字符,则此方法不适用。
我必须想其他办法。
等等,还有一件事,我发现有些数据库系统还有其他类似的功能,比如MySQL的SUBSTRING_INDEX,也可以工作。
不过,这次我们就到此为止,下次有机会再试一次。