mysql - char_length 没有像想象的那样工作

标签 mysql

下面是我的

+++++++++++++++
+ id + myData +
+++++++++++++++
+ 1  + ABCD   +
+ 2  + ABCDD  +
+++++++++++++++

当我执行

select char_length((select myData from mytable where id = 1)) as MyLength;

我得到的结果是

++++++++++++
+ MyLength +
++++++++++++
+  4       +
++++++++++++

但是当我执行查询时,

select char_length((select myData from mytable) as MyLength;

我得到的错误是

DDL and DML statements are not allowed in the query panel for MySQL; only SELECT statements are allowed.

Demo

最佳答案

您将整个查询输出包装在 CHAR_LENGTH() 中。将 WHERE id = 1 应用于子查询时,它返回一行,并且由于您选择了单个列,您将得到一个字符串值返回 CHAR_LENGTH() 将接受作为其参数。

如果子查询select mySata from mytable 返回多行,char_length() 不能接受它作为输入。相反,只需在常规 SELECT 语句中将 CHAR_LENGTH() 应用于 myData 即可查看多行的长度。

SELECT CHAR_LENGTH(myData) AS myLength FROM mytable

关于mysql - char_length 没有像想象的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11162721/

相关文章:

mysql - MySQL无法添加外键约束错误?

mysql - 将 SQL 结果格式化为数组;按键访问?

数据库 |如果字段存在,更新记录插入插入

python - Flask-SQLAlchemy 更新正在 MySQL 中创建新记录

mysql - 使用 Java 环境从 CMD 行恢复 MYSQL

mysql - MySQL 中的读取提交与可重复读取?

php - 使用 MySQL 计算连续天数

mysql - JDBCExceptionReporter [错误] 字段 'id' 没有默认值

c# - 为什么我无法使用Mysql数据库?

mysql - 获取对嵌套选择中主选择行的引用