<< ant资料 | 主页 | 吉祥三宝之食堂版 >>

答辅修专业同学Mysql的问题

看看吧,有什么问题继续!

Q:如何一次insert into 多个values?
A:多个values是什么意思?我还不理解。还是讲讲Insert into的用法吧。
insert into 表名(列名1,列名2,...,列名n) values(列名1的值,列名2的值,...,列名n的值)
如果是包含表中所有的列,可以简写为:
insert into 表名 values(列名1的值,列名2的值,...,列名n的值)

至于〔列名值〕是否带单引号遵循数值型的不带,字符行和日期型都要带单引号。

Q:取整是哪个函数?
A: 取整有三个函数,可以根据需要来使用。
ROUND(X), ROUND(X,D),返回最近的一个整数,其中x表示要取整的值,D表示小数位数。
例如:
mysql> SELECT ROUND(1.298, 1);
-> 1.3
mysql> SELECT ROUND(1.298, 0);
-> 1
mysql> SELECT ROUND(23.298, -1);
-> 20
但是对于2.5这样的半数数值进行Round(2.5)后到底是2还是3,是和底层使用的C语言库有关系的,所以结果有可能不同。

TRUNCATE(X,D),可以称之为截断取整, 其中x表示要取整的值,D表示小数位数。
例如:
mysql> SELECT TRUNCATE(1.223,1);
-> 1.2
mysql> SELECT TRUNCATE(1.999,1);
-> 1.9
mysql> SELECT TRUNCATE(1.999,0);
-> 1
mysql> SELECT TRUNCATE(-1.999,1);
-> -1.9
mysql> SELECT TRUNCATE(122,-2);
-> 100
mysql> SELECT TRUNCATE(10.28*100,0);
-> 1028
FLOOR(X),返回不大于x的最大整型值
例如:
mysql> SELECT FLOOR(1.23);
-> 1
mysql> SELECT FLOOR(-1.23);
-> -2


Q:以下SQL语句完成什么功能
SELECT name, birth, CURDATE(),
(YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(),5)<RIGHT(birth,5))AS age
FROM pet
BY name;

A: select表示列选,
CURDATE()是一个日期函数,返回当前日期
YEAR(x)是一个日期函数,返回日期的年部分,x表示日期
RIGHT(str,len) 使字符函数,返回字符串中最右指定长度的子字符串

(YEAR(CURDATE())-YEAR(birth))表示用现在的日期减去出生日期,结果使一个整型,;
(RIGHT(CURDATE(),5)<RIGHT(birth,5)) 表示判读出生月日是否大于当前的日月,如果大于,返回0,如果小于,返回1;
(YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(),5)<RIGHT(birth,5))真正含义是计算年龄。首先计算出生年的差距,然后判断月日的差别,如果出生月日小于当前的日期,年龄就减少一岁。

标签 :



置评 发送回接