一、数字查询
1、返回不小于X的最小整数值
SELECT CEILING(8,6),CELL(5,1)
返回值为 9、 6
2、返回值不大于X的最大整数值
SELECT FLOOR(8.95),FLOOR(-3.7)
返回值为 8、 -4
3、返回一个0~1之间随机浮点数
SELECT RAND(),RAND(0),RAND(1)
无参数——每次随机数不同
有参数——参数相同,则随机数相同
4、返回最接近参数X的整数
SELECT ROUND(9.7),ROUND(-9.7),ROUND(9.1)
返回值为10、 -10、 9
四舍五入时一直精度的计数保留法,与数的正负无关
5、对参数X进行四舍五入的操作、保留y位——ROUND(x,y)
SELECT ROUND(9.7123,2)
返回值为9.71
6、对参数X进行截取操作——TRUNCATE(X,D)
SELECT TRUNCATE(3.98,1),TRUNCATE(0.1,3)
返回值为3.9、 0.100
二、控制流函数
1、if(符合条件,'符合写法','不符合写法')
2、ifnull(正常显示,为null时所替换文字)
空字符串:字段字符内容为空
null:字段本身为空
实例:在flight表中添加flightID数据,其它为null,查询model为null时,替换为“待分配”,查询飞机里程大于2000的显示长途,否则显示短途。
SELECT flightID,ifNULL(model,'待分配')机型,if(mileage>2000,'长途','短途')里程数
FROM flight
三、字符串函数
1、计算字符个数,计算字节个数
SELECT CHAR_LENFTH('你猜'),LENFTH('你猜')
个数是2、 6
字符个数:不区分中英文或者符号,多少个就是多少个
字节个数:1个英文和符号 1个字节,1个中文3个字节
2、连接多个字符串
SELECT CONCAT('富强','文明')
如果列表中含有 ' ',则不连接
3、字符串的替换
SELECT INSERT('原内容',开始位数,被替换长度,'替换后的内容')
SELECT INSERT('程序员真好',1,5,'厉害');
INSERT REPLACE一次只能替换一个,而REPLACE是一次性全部替换
SELECT REPLACE('程序员真快乐,真厉害','真','好');