为什么我的简单SQL SELECT语句输出的是散列?

myss37ts  于 2022-10-31  发布在  Mysql
关注(0)|答案(1)|浏览(168)

最近我开始使用Beekeper Studio作为我的MySQL客户端,我很喜欢它,尽管今天我遇到了一个奇怪的行为:

SELECT CONCAT("Total nr of orders in january is ", COUNT(*)) AS nr_or_payments FROM payments WHERE paymentDate >= '2005-01-01' AND paymentDate <= '2005-02-01'

通过运行这个简单的查询,我得到了一个奇怪的散列输出,而不是我在concat函数中指定的输出
546f74616c206e72206f66206f726465727320696e206a616e756172792069732035
我试着在不同的MySQL客户端中复制这个,但是它们看起来都工作得很好。这是怎么回事?

2ic8powd

2ic8powd1#

这可能是你的客户端的问题。你发布的字符串不是散列,它只是一串十六进制数字,当我们将其解十六进制时,结果是...

mysql> select cast(unhex('546f74616c206e72206f66206f726465727320696e206a616e756172792069732035') as char) as nr_or_payments;
+------------------------------------+
| nr_or_payments                     |
+------------------------------------+
| Total nr of orders in january is 5 |
+------------------------------------+

也许Beekeper studio没有设置为显示MySQL返回的字符集?我没有使用该产品,所以我不能建议如何配置它。

相关问题