mysql中 select AA from table1
where AA= To–char ( dateadd(getdate(),-2,’aa’),’4个y2个m’) 请问这句话怎么理解呀?
你这个sql是个缝合怪了。。。
- getdate() 是sqlserver数据库中的获取当前时间的年月日时分秒函数,mysql里类似的函数名应该为 now()
- dateadd()是sqlserver中对日期进行增加的函数,但是其中的3个参数的位置和你写的不一样,并且并没有'aa'这种时间度量表达式。而MySQL中类似功能的函数名为ADDDATE()和DATE_ADD(),并且参数和你题目里面的也不一样
- to_char()是oracle数据库中将某种类型转换成字符串的函数,此题中是将一个日期转换成'yyyymm'格式,即4位年份2位月份,比如'202204'
综合起来,表示从table1中查询AA等于"某个年月"的数据,"某个年月"为当前日期减2个"aa"的跨度
sqlserver的dateadd官方语法说明
mysql的date_add官方语法说明