gpt4 book ai didi

varchar 列上的 MySQL first_value 返回格式错误的记录

转载 作者:行者123 更新时间:2023-11-29 06:30:44 24 4
gpt4 key购买 nike

MySQL 中的first_value 函数以意外格式返回varchar 列。

我有一个包含两列的表“测试”

create table test (col1 varchar(10), col2 integer);

并且有这样的记录,

enter image description here

当我运行first_value函数时,我得到这样的记录

select *, first_value(col1) over(partition by col1 order by col2 desc) as max_col1 
from test;

enter image description here

这是因为first_value仅适用于数字字段吗?

最佳答案

is this because first_value works only for numeric fields?

不,first_value()也适用于 varchar 数据类型。
您得到的结果是正确的,但采用十六进制格式!
0x6B657931key1
0x6B657932key2
0x6B657933key3
因此,这可能是排序问题或您正在使用的软件的问题。
如果您使用的是类似 fiddle 的网站,那么结果按原样出现也就不足为奇了。
无论如何,您可以在这里找到更多信息:https://dev.mysql.com/doc/refman/8.0/en/charset-syntax.html
如果问题仍然存在,您可以随时使用 unhex()功能:

select unhex('6B657931')

将返回:

key1

或者:

select CAST(0x6B657931 AS CHAR)

还将返回:

key1

请参阅demo .

关于varchar 列上的 MySQL first_value 返回格式错误的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56421111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com