sql初级语法 笔记总结
num_field number(12,2);
表示num_field是一个整数部分最多10位、小数部分最多2位的变量。
case.....when 用法(与decode()作用很像)
select case zsxm_dm
when '02' then
'营业税'
when '09' then
'印花税'
else
'无税种'
end
from t_dm_gy_zsxm;
decode()函数使用技巧
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
trunc(pz.xs_rq) 是指只要年月日,不要时分秒
对日期按格式截尾,如:SQL> select trunc(sysdate,'mm') from dual;
TRUNC(SYSDATE,'MM')
-------------------
2003-1-1
trunc实际上是truncate函数,字面意思是截断,截尾。函数的功能是将数字进行截断。例如 tranc(1234.5678,2)的结果为1234.5600。tranc()并不四舍五入。再举例: tranc(1234.5678,0)的结果为1234.0000;tranc(1234.5678,-2)的结果为1200.0000。
EXISTS 关键字和 IN 关键字的区别?
exists 是符合后面带的sql语句(select)判断有没有记录,in 表示判断所指定的某一字段名是不是在所给出的值的范围内
exists(select 1 from Table_B where Table_B.XH
相关文档:
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DRO ......
有些常见的问题在论坛中不断出现,不妨整理一下。
以下语句是在SQLServer2005上实现的,一些语句无法在SS2000上执行。
有用指数是我根据这个问题的常见程度打的分,仅供参考。实际上,当你遇到了这个问题,这个问题哪怕再少见,解决方案也是非常有用的。
1. 生成若干行记录
有用指数:★★★★★
常见的问题类型:根 ......
--创建表TongXunLu
CREATE TABLE TongXunLu
(
[tName] nvarchar(30),
[tAddress] nvarchar(50),
[tEmail] varchar(50)
)
--创建表 students
CREATE TABLE students
(
[sId] int IDENTITY (1, 1) primary key NOT NULL ,
[sName] varchar (50) NOT ......
聚合函数若要汇总一定范围的数值,请使用以下函数:
SUM
返回表达式中所有值的总和。
语法
SUM(aggregate)
SUM 只能与包含数值的字段一起使用。将忽略空值。
AVERAGE
返回表达式中所有非空值的平均值(算术平均值)。
语法
AVERAGE(aggregate)
AVERAGE 只能与包含数值的字段一起使用。将忽略空值。
......