1. 日期函数
Mssql:
SELECT GETDATE()
返回当前日期和时间
SELECT DATEPART(yyyy,OrderDate) AS OrderYear,
DATEPART(mm,OrderDate) AS OrderMonth,
DATEPART(dd,OrderDate) AS OrderDay
FROM Orders1
WHERE OrderId=1
返回日期/时间的单独部分
SELECT OrderId,OrderDate,DATEADD(day,2,OrderDate) AS OrderPayDate
FROM Orders1
在日期中添加或减去指定的时间间隔
SELECT DATEDIFF(day,‘2016-06-08‘,‘2016-06-08‘) AS DiffDate
返回两个日期之间的时间
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
SELECT CONVERT(VARCHAR(19),GETDATE())
SELECT CONVERT(VARCHAR(10),GETDATE(),110)
SELECT CONVERT(VARCHAR(11),GETDATE(),106)
SELECT CONVERT(VARCHAR(24),GETDATE(),113)
函数 |
描述 |
GETDATE() |
返回当前日期和时间 |
DATEPART() |
返回日期/时间的单独部分 |
DATEADD() |
在日期中添加或减去指定的时间间隔 |
DATEDIFF() |
返回两个日期之间的时间 |
CONVERT() |
用不同的格式显示日期/时间 |
Mysql
函数 |
描述 |
NOW() |
返回当前的日期和时间 |
CURDATE() |
返回当前的日期 |
CURTIME() |
返回当前的时间 |
DATE() |
提取日期或日期/时间表达式的日期部分 |
EXTRACT() |
返回日期/时间按的单独部分 |
DATE_ADD() |
给日期添加指定的时间间隔 |
DATE_SUB() |
从日期减去指定的时间间隔 |
DATEDIFF() |
返回两个日期之间的天数 |
DATE_FORMAT() |
用不同的格式显示日期/时间 |
2. ISNULL IFNULL
Mssql
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products
Mysql
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products
3. 函数
AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
SELECT AVG(OrderPrice) AS OrderAverage FROM Orders
用在where后
SELECT Customer FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)
Count
SELECT COUNT(column_name) FROM table_name
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)
SELECT COUNT(*) FROM table_name
COUNT(*) 函数返回表中的记录数
SELECT FIRST(column_name) FROM table_name
SELECT LAST(column_name) FROM table_name
MAX 函数返回一列中的最大值。NULL 值不包括在计算中。
SELECT MAX(column_name) FROM table_name
MIN 函数返回一列中的最小值。NULL 值不包括在计算中
SELECT MIN(column_name) FROM table_name
求和
SELECT SUM(column_name) FROM table_name
分组
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
Having
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
Where后不能直接接聚合函数,加having即可
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer=‘Bush‘ OR Customer=‘Adams‘
GROUP BY Customer
HAVING SUM(OrderPrice)>1500
UCASE 函数把字段的值转换为大写
SELECT UCASE(column_name) FROM table_name
LCASE 函数把字段的值转换为小写
SELECT LCASE(column_name) FROM table_name
MID 函数用于从文本字段中提取字符
SELECT MID(column_name,start[,length]) FROM table_name
LEN 函数返回文本字段中值的长度
SELECT LEN(City) as LengthOfCity FROM Persons
ROUND 函数用于把数值字段舍入为指定的小数位数
SELECT ROUND(column_name,decimals) FROM table_name
NOW 函数返回当前的日期和时间
SELECT ProductName, UnitPrice, Now() as PerDate FROM Products
FORMAT 函数用于对字段的显示进行格式化
SELECT FORMAT(column_name,format) FROM table_name