1.左连接 ,右连接问题
可以理解为谁在右边谁就大,比如A左连接B,就是以A为基准,B进行匹配
2.获取当前时间
mysql: now()
sqlserver: getdate()
3.查询前几条记录
//mysql
select * from sys_user limit 10;
//sql server:
select top 10 * from sys_user ;
4.日期计算
//mysql:
DATE_ADD(date,INTERVAL expr type);
or ADDDATE(date,INTERVAL expr type)
//date--需要计算的日期
//expr--增加多少日期
//type--见下方表格1
//sqlserver
DATEADD(day,2,OrderDate)
//day--见下方表格2
//2--增加多少日期
//OrderDate--需要计算的日期
type可以为以下的值(表格1) |
---|
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
SECOND_MICROSECOND |
MINUTE_MICROSECOND |
MINUTE_SECOND |
HOUR_MICROSECOND |
HOUR_SECOND |
HOUR_MINUTE |
DAY_MICROSECOND |
DAY_SECOND |
DAY_MINUTE |
DAY_HOUR |
YEAR_MONTH |
day可以为以下的值(表格2) | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微秒 | mcs |
纳秒 | ns |
4.一列连接成一行
//mysql
SELECT
group_concat( `t`.`role_id` ORDER BY `t`.`role_id` ASC SEPARATOR ',' )
FROM
`sys_user_role` `t`
//sqlserver
SELECT ',' ,
'' + roleId
FROM dbo.PUserRole t
WHERE empId = dbo.HEemployee.empId
FOR XML PATH('')
5.判断是否为空
mysql: ifnull()
sqlserver: isnull()
6.convert()的区别
//mysql
convert(send_amount,float)
//sqlserver
convert(float,send_amount)