MySQL常用方法记录
- 绝对值
select abs(-1) value - 取整(大)
select ceiling(-1.001) value - 取整(小)
select floor(-1.001) value - 取整(截取)
select cast(-1.002 as int) value - 四舍五入
select round(1.23456,2) value - e为底的幂
select Exp(1) value 2.718281828459045 - 取e为底的对数
select log(2.7182818284590451) value 1 - 取10为底对数
select log10(10) value 1 - 取平方
select power(4,2) value 16 - 取平方根
S:select SQRT(4) value 2 - 求任意数为底的幂
select power(3,4) value 81 - 取随机数
select rand() value - 取符号
select sign(-8) value -1 - 圆周率
SELECT PI() value 3.141593 - sin,cos,tan 参数都以弧度为单位
select sin(PI()/2) value 1 - 弧度角度互换
DEGREES:弧度-〉角度
RADIANS:角度-〉弧度
---------数值间比较
- 求集合最大值
1.elect max(value) value from
(select 1 value union select -2 value
union select 4 value union select 3 value)a
2.select greatest(1,-2,4,3) value from dual - 求集合最小值
1.select min(value) value from
(select 1 value union select -2 value
union select 4 value union select 3 value)a
2.select least(1,-2,4,3) value from dual - 如何确定是否为null值
select ISNULL(null) value 1 - 求字符序号
select ascii(‘a’) value - 从序号求字符
select char(97) value - 连接
1.select ‘11’+‘22’+‘33’ value 66
2.select CONCAT(‘11’,‘22’) value 1122 - 子串位置 --返回3
select CHARINDEX(‘s’,‘sdsq’,2) value - 模糊子串的位置 --返回2,参数去掉中间%则返回7
select patindex(’%d%q%’,‘sdsfasdqe’) value - .截取子串
select substring(‘abcd’,2,2) value - 子串替换
SELECT Replace(‘abcdef’, ‘bcd’, ‘ijklmn’) value aijklmnef - 长度
LENGTH - 大小写转换
lower,upper - 单词首字母大写
select INITCAP(‘abcd dsaf df’) value from dual - 左补空格
S:select space(10)+‘abcd’ value
O:select LPAD(‘abcd’,14) value from dual - 右补空格
S:select ‘abcd’+space(10) value
O:select RPAD(‘abcd’,14) value from dual - 删除空格
S:ltrim,rtrim
O:ltrim,rtrim,trim - 重复字符串
select REPEAT(‘abcd’,2) value abcdabcd - 发音相似性比较(这两个单词返回值一样,发音相同)
SELECT SOUNDEX (‘Smith’), SOUNDEX (‘Smythe’)
--------------日期函数
- 系统日期时间
select current_timestamp value 2021-07-17 14:49:38
select current_time value 14:49:38
select current_date value 2021-07-17
select now() value 2021-07-17 14:49:38 - 前后几日
select current_date+1 value 格式会发生改变
20210716 <-- 2021-07-17 --> 20210718 - 当月最后一天
select LAST_DAY(NOW()) value from dual - 字符串转时间
select cast(‘2021-09-08’ as datetime) value - 时间不同展示方式转换
select DATE_FORMAT(NOW(), ‘%Y-%m’) value
参数详见DATE_FORMAT - 时间间隔
SELECT TIMESTAMPDIFF(day,‘2008-12-30’,‘2008-12-29’) value
SELECT DATEDIFF(‘2008-12-29’,‘2008-12-30’) value
TIMESTAMPDIFF参数说明:
TIMESTAMPDIFF( datepart , startdate , enddate )
datepart 差额单位 DAY、HOUR、MINUTE、SECOND
startdate 计算的开始日期。
enddate 计算的终止日期。
enddate - startdate

867

被折叠的 条评论
为什么被折叠?



