1、数据查询
- 查询基础语法结构
Select 列 1,...,列 n from 表 [where 条件] [group by 分组列 1,...,列 n] [having 筛选分组条件] [order by 排序列 1,…,列 n]
- 条件查询常用表达式
大致与其他通用数据库类似,可以参考SQL 表达式
2.1 分页查询
top分页
Select top 每页显示条数 列名列表 from 表 where id not in (
Select top 偏移量条数 id from 表
);
limit 分页
Select 列名列表 from 表 […] limit 偏移量,每页显示条数
伪列分页
rowid与rownum
Select rowid, 列名列表 from 表 where rowid between 起始编号 and 结束编号
select t. 列名列表 from (
select rownum num, 列名列表 from 表名 where rownum < 结束号
) t where num > 起始号
- 函数
3.1 字符串函数
a) length(string) 获取字符串长度(包含空格)
b) concat(str1,…,strn) 拼接字符串
c) initcap(string) 将字符串中的单词的首个字母变成大写
d) insert(str1,begin_index,length,str2) 从 str1 字符串的指定下标开始删除指定长度的内容,然后再插入 str2 并返回新字符串
e) lower(string) 转小写
f) upper(string) 转大写
g) trim(string) 去除字符串左右两边的空格
h) instr(str1,str2,n,m) 返回字符串 str2 在 str1 中,从第 n 个字符开始第 m 次出现的下标
i) left(string,n) 从字符串左边截取长度为 n 的子串
j) right(string,n) 从字符串右边截取长度为 n 的子串
k) substring(string,begin,n) 从字符串的 begin 下标开始截取长度为 n 的子串
l) replace(string,old,new) 将 string 字符串中的 old 字符串替换成 new 字符串
3.2 数学函数
a) pi() 获取圆周率
b) rand( ) 生成 0-1 之间的随机小数
c) floor() 向下取整
d) ceil() 向上取整
e) round(number,n) 四舍五入到 n 位小数
f) trunc(number,n) 直接截断到第 n 位小数
g) mod(m,n) 求 m/n 的余数
h) sqrt(number) 求平方根
i) power(m,n) 求 m 的 n 次方
3.3 日期函数
a) curdate() 获取当前日期
b) curtime() 获取当前时间
c) now() 获取当前日期时间
d) add_days(date,num) 在指定日期上增加指定的天数(可以为负数)
e) add_months(date,num) 在指定日期上增加指定的月数
f) dateadd(datepart,num,date) 在指定日期的指定部分增加指定的数值
g) datediff(datepart,date1,date2) 计算两个日期的指定部分差值;
h) datepart(datepart,date) 获取指定日期中指定部分的值
i) dayofweek(date) 计算指定日期是一周中的第几天
j) dayofyear(date) 计算指定日期是一年中的第几天
k) week(date, mode):根据指定的mode返回日期为所在年的第几周 。
3.4 类型转换函数
a) cast(value as type) 将指定值转换成指定的数据类型
b) convert(type,value) 将指定值转换成指定数据类型