我疯了呀。。。
1.解决方案:将convert 换成substring
mysql和mssqlserver差异(不要问我为什么骂的厉害,作为一个经常使用存储过程的我要去转换几个项目的存储过程,我感觉我要废了)
mysql | mssqlserver | 说明 | |
获取实时时间差异 | now() | getdate() | |
获取前几条数据差异 | select * from 表名 limit 1; // limit 1,1 | select top 1 * from 表名 | |
数据类型转换的差异 | CONVERT(CS_PageIndex,signed) | CONVERT(int,CS_PageIndex) | |
条件语句的差异 | while do{}end while; | while()begin{}end | |
if() then elseif() then{}else{} end if; | if() begin{}end else if() begin{}end else begin{}end | ||
函数的差异 | IFNULL(abc,0) | isnull(abc,0); | 如果abc为空,赋值0 |
检索位置 | INSTR(Knowledge,','); | CHARINDEX(',',Knowledge) | |
获取长度 | LENGTH('') | len('') | |
时间转换 |
DATEDIFF(NOW(),'2021-8-10 23:59:59') TIMESTAMPDIFF(SECOND,now(),'2021-10-22 23:59:59') -- 秒 /* 可查看:https://www.cnblogs.com/uiee/p/10671519.html SELECT
*/ |
DATEDIFF(day,CONVERT(datetime,'2021-8-10 23:59:59'),GETDATE()); | |
字符串拼接 | CONCAT('%',UPPER(CS_SearchText),'%'); | 直接使用+拼接 | |
1.存储过程中无法使用'+'拼接字符串,只能通过CONCAT(string1,string2) 2.叼毛存储过程中的临时表必须用完即删除,不然会影响下次查询 3.mysql兼容性差的要死 delete from ReTable where auto_id not in (select auto_id from ReTable order by auto_id asc LIMIT TCS_Top_Num); -- 执行不了 |
![]()
|
mysql8.0与mysql5.6差异
1.for update into
2.CONVERT(SUBSTRING(CS_ReadScore,1,(TCS_TIndexVal-1)),float) CONVERT(SUBSTRING(CS_ReadScore,1,(TCS_TIndexVal-1)),DECIMAL(5,2))
mysql中一些优化操作(后续补充笔记)
https://baijiahao.baidu.com/s?id=1644358136491778500&wfr=spider&for=pc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现