- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的公司,我们使用一个与 MySQL 服务器协同工作的自制 ERP 系统。 ERP系统采用C#编写,Visual Studio 2017,服务器版本为5.0。
我尝试将 MySQL 从 5.0 版本升级到当前的 8.0 版本。但是,使用“concat”命令的 SQL 查询似乎不再有效。
例如查询
Concat(Column1, Coalesce(Column2, ''), Column3, Coalesce(Column4, '')) As Result
不返回字符串,而是一个 system.byte[] 对象。
我找到了一篇关于这个主题的文章:
https://bugs.mysql.com/bug.php?id=37485
据此,我尝试修改SQL查询如下:
Concat(cast(Column1 as char), Coalesce(cast(Column2 as char), ''), cast(Column3 as char), Coalesce(cast(Column4 as char), '')) As Result
但它仍然不断地返回 system.byte[]。
然后我尝试添加
“Respect Binary flags=false”
连接字符串,但这也没有用,visual studio 抛出以下错误:
“不支持关键字。参数名称:遵守二进制标志”
我发现当我只尝试连接 column1 和 column2 时 concat 起作用,所以我寻找不同之处并注意到 column1 和 2 是 varchar(50) 而 column3 和 4 是 mediumtext。
我不明白为什么变量的转换不起作用或者“尊重二进制标志”参数有什么问题。两者似乎都解决了其他情况下的问题。有没有人提示我如何以简单的方式解决这个问题?提前致谢..
最佳答案
尝试在 concat 或 coalesce 之后使用 cast 以确保结果是您想要的所需类型。我使用了 255 个字符,但你可以选择你需要的大小。下面是我用来测试这个的代码。
create table testing (
column1 varchar(50),
column2 mediumtext);
insert into testing values ('this','that');
CREATE table temp AS
select CAST(coalesce(column1, column2) AS char(255)) from testing;
DESCRIBE temp;
关于c# - MySQL 8.0 concat 从 mediumtext 列返回 system.byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51925621/
我想将很长的文本(例如base64(图像)编码的字符串)保存到mysql表中。 在这种情况下,执行查询(选择、插入、更新、删除)是否很慢? select * from A where index =
我正在编写一个 BASH 脚本来输出 MySQL 数据库中文本字段的内容。它有效,但我的问题是 mediumtext 字段中的每个单词都在单独的行中回显。 for i in $( mysql -u $
在我的 rails 迁移中,其中一个字段定义为 t.text :message, limit: 8.megabytes - 1 Mysql 将这个字段映射到 mediumtext 数据类型。但是 me
我需要一个 MySql 语句,它从 mediumtext 列返回 20 个单词的子字符串,从第 35 个单词开始。知道这个查询会是什么样子吗? 最佳答案 我倾向于同意@RomanNewaza 的观点,
我有一个网站,在 mysql 数据库中有大约 1000 个不同的字符串,用于显示我网站上的所有文本。字符串存储在数据库中的原因是因为我支持 2 种不同的语言,并且需要能够根据用户偏好(英语和中文)显示
我正在尝试为 MyBB 论坛开发一种“坏词”插件,我想向您寻求有关 SQL 命令的帮助。 让我们将解决方案简化为仅针对相关列: Table: words Column1: number, record
我需要将列从 TEXT 类型更改为 MEDIUMTEXT。根据这个讨论:How to store long text to MySql DB using Rails? ,我需要将大小限制指定为 MyS
我为 mysql aurora 数据库设置了 liquibase 更改:
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我知道尽可能使用最小数据类型的原则,但我想知道为什么这适用于 MySQL 中的 TEXT/MEDIUMTEXT/LONGTEXT?如果我使用 LONGTEXT 而不是 MEDIUMTEXT,是否存在性
我有一个用 ASP 编写的带有 mySQL 数据库的网站。 ASP 使用 ODBC 5.1 驱动程序连接到数据库。数据库内部有一个 varchar(8000) 列(长度开始很小,但应用程序自其构思以来
我知道这个问题已经讨论过很多次了。不管怎样,我想再弄清楚。 好吧,我的表“articles”包含这些字段: 标题(varchar 255) 关键字(varchar 255) content_body_
我只能在字符串包含 523264 个字符时发送数据。帮助! include("conn.php"); $stmt = $conn->prepare("INSERT INTO json_t (json_
假设我有一个包含 TEXT 列的表,并且其中有数据,当我将该列从 TEXT 更改为 MEDIUMTEXT 时会发生什么code>,有什么我应该注意或避免的吗? 是否会出现任何数据损坏或丢失? 注意:
我有一个包含 3 列和 3600K 行的表。使用 MySQL 作为键值存储。 第一列id是VARCHAR(8)并设置为主键。第二列和第三列是MEDIUMTEXT。当调用SELECT * FROM ta
不知何故,GROUP_CONCAT 能够将一篇文章的六个“页面”(每个页面存储为文本)并将它们放入单个 MEDIUMTEXT 中,而不会丢失任何数据,但是有一些一页比正常情况长的文章(但显然仍然适合
mediumtext 和 varchar(65535) 是一回事吗? 我的意思是它们都是直接将数据存储在表中还是 mediumtext 类型存储指针?我问这个是因为如果我尝试创建一个 varchar(
我看过很多关于使用 sql 命令删除行的帖子,但我需要过滤掉具有 mediumtext 的行。 我不断从解决方案中收到错误 Error Code: 1170. BLOB/TEXT column use
我很难在 mysql 中定义为 mediumtext 的列中存储超过 64000 个。我之前遇到了 text 数据类型的这个限制,因此决定删除该列并将其重新创建为 mediumtext 字段。问题是,
我了解 MySQL TEXT 和 MEDIUMTEXT 字段的大小/存储限制,但我只是想绝对确定(在我签署更改之前)我没有看到将现有字段转换为任何不利影响从 TEXT 到 MEDIUMTEXT 的数据
我是一名优秀的程序员,十分优秀!