存储在 varchar 字段中的整数值在排序时给出不同的结果
我遇到的情况是,我有一个列名 c_id,它位于 varchar 中,但包含整数或空值。 (我无法更改数据类型,因为在我的项目中很长一段时间以来它都是这样使用的)
我的问题是,每当我尝试使用该列按表进行排序时,它都会显示损坏的结果,甚至当我搜索最大值时value 它不会根据其大小给出最大值。
我想知道它内部是否以 ASCII 形式存储,但我不太确定。 请帮助我了解为什么会发生这种情况。
谢谢。
I have a situation in which I have a column name c_id which is in varchar but contains integer or null values.
(I cannot change the datatype since it is been used like this, from very long, in my project)
My problem is whenever I try to order by my table with that column, it shows me corrupted results and even when I search for the max value it doesn't give me the max value according to its magnitude.
I wonder if it is stored in ASCII form internally, but i m not very sure.
PLease help me knowing this why this is occurring.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用 CAST 函数:
或
Try to use CAST function:
or
您可以使用 CAST 函数。下面是一些代码,向您展示一个示例以及它对返回结果的影响:
You can use the CAST function. Here is some code to show you an example and the difference it makes in the results returned: