MySQL 查询某个字段含有中文的2种方式

第一种:

--查询不包含中文
select name from cs_name where length(name) = lengthb(name);

--查询包含中文的
select name from cs_name where length(name) <> lengthb(name);

第二种:

--- 查询包含中文的
select name from cs_name where asciistr(name) like '%\%';
--  查询不包含中文
select name from cs_name where asciistr(name) not like '%\%';
 

### 如何在 MySQL查询 JSON 类型字段 #### 示例与语法解释 为了有效地操作和检索存储于 `JSON` 字段内的数据,在 SQL 查询语句中可以利用特定的功能函数。下面提供了一个具体的例子,展示了怎样通过 `SELECT` 语句结合 `JSON_EXTRACT()` 函数来获取嵌套在 `JSON` 对象里的单个属性值。 ```sql -- 假设有一个表名为 'mk_task_record' 的表格, -- 其中含有一个名为 'result_json' 的列用于保存 JSON 数据。 -- 下面这条命令会返回每一行记录里 result_json 列下 name 属性对应的值。 SELECT JSON_UNQUOTE(JSON_EXTRACT(result_json, '$.name')) AS name_value FROM mk_task_record; ``` 此代码片段使用了两个重要的组件: - **`JSON_EXTRACT(path)`**: 这是一个内置的 MySQL 函数,允许用户按照给定路径从 `JSON` 文档中抽取所需部分的数据[^2]。这里的 `'$.name'` 表达式指定了要访问的是根级别的键 `"name"` 所关联的那个值。 - **`JSON_UNQUOTE(string)`**: 当从 `JSON` 抽取出字符串时,默认情况下它们会被包裹在一个额外的双引号内。该辅助函数的作用就是去除这些不必要的引号,使得最终得到的结果更加整洁易读。 对于更复杂的场景,比如当目标是取得位于多层嵌套对象内部或是数组形式存在的项目,则可以通过调整传递给 `JSON_EXTRACT()` 方法的第一个参数——即所谓的 "路径表达式" 来实现这一点。例如,如果想要获得某个索引位置上的数组成员,可采用如下方式书写路径:`'$[index]'`; 若需选取一段连续区间内的多个元素,则应参照类似这样的模式编写:`'$[start to end]'` 或者直接指向最后一个元素:`'$[last]'`[^3]。 此外,值得注意的是,尽管上述示例主要围绕着 `JSON_EXTRACT()` 讲解,实际上还有其他一些有用的工具可供选择,如 `->>` 操作符它能够简化某些情况下的写法,并自动应用 `JSON_UNQUOTE()` 处理结果。 ```sql -- 使用 ->> 操作符代替 JSON_EXTRACT 和 JSON_UNQUOTE 组合 SELECT result_json->>'$.name' AS name_value FROM mk_task_record; ``` 这种简洁的形式不仅提高了代码的可读性和维护性,同时也减少了潜在错误的发生几率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值