当前位置: 首页 > news >正文

thinkphp+mysql+cast解决text类型字段的文本型数字排序错误的方法 - 数据库文本字段排序ASC、DESC的失效问题

TP中使用cast + order

$lists = AmdCommonTable::where(..............)

    ->field('*,CAST(w6 AS UNSIGNED) as sort')

    ->order('sort', 'asc')

    ->select()

    ->toArray();

先转换为数字,再order by

效果对比

(1/2) 不ok - 直接order by 某字段 asc - 只能按照文本排序

其中w6字段类型:`w6` TEXT 

SELECT id,w6 FROM `xx` ORDER BY `w6` ASC

(2/2)  ok - 使用cast方法转换“文本”字段为"数字",再order by排序

SELECT *,CAST(w6 AS UNSIGNED) as sort FROM `xx` ORDER BY `sort` ASC

感谢

MySQL把字符串转化为数字的三种方式[通俗易懂]-腾讯云开发者社区-腾讯云首先,我想到的是类似于between and,我以为也是比较的首字母,不过后面我发现并不是的。https://cloud.tencent.com/developer/article/2091841Thinkphp5中使用mysql的concat函数_tp5 concat-CSDN博客文章浏览阅读1.9k次。需要注意你的TP版本 如果是5.0.18+ 需要使用新的写法这里我用的5.0.21版 也用它作为演示1.update在原有字符的基础上添加新字符db('a')->where('id', 1)->update(['name' => Db::raw('concat(name,"在原来的字符上追加新的字符")')])2...._tp5 concat https://blog.csdn.net/livesmo/article/details/97963261

相关文章:

  • Unity知识总结——算法
  • 【大模型】如何为你的RAG选择Embedding模型--MMTEB引领RAG系统变革
  • 78_Pandasagg()和aggregate()的用法
  • Qt状态更新设计
  • uniapp+Vue3 开发小程序的下载文件功能
  • QT系列教程(14) QT 按键事件
  • 【sentry】sentry报错信息转发常用办公聊天工具
  • 嵌入式工控机在汽车制造中的卓越表现
  • 本地Docker部署雷池WAF让网站安全监测更简单无需复杂配置
  • 根据开始和结束日期,获取每一天和每个月的开始和结束日期的list
  • IDEA接入阿里云百炼中免费的通义千问[2025版]
  • 简单记录一下Oracle数据库与mysql数据库注入的不同。
  • 配置安全网站
  • c++_队列习题
  • 【每日八股】计算机网络篇(四):HTTP
  • stm32 f4 flash 调用时卡死
  • Flask Jinja语法总结篇
  • MySQL8.0窗口函数
  • 请谈谈 TypeScript 中的接口(interface)和类型别名(type alias),它们的区别是什么?
  • ThinkPHP8.0+MySQL8.0搭建简单实用电子证书查询系统
  • 珠海网站建设哪个好薇/西安网站推广助理
  • 巢湖城市建设投资有限公司网站/2345手机浏览器
  • 巩义网站建设哪家专业/谷歌是如何运营的
  • 网站wordpress入侵/seo推广服务
  • 没网站怎么做淘宝客/专门开发小程序的公司
  • 吉安市网站建设/百度竞价广告怎么收费