在SQL Server中怎样求一个数的余数?

railgunman 2005-12-19 01:19:45
在SQL Server中怎样求一个数的余数?
用T-SQL实现怎么实现呢?
相当于Delpi里的mod运算
...全文
1304 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2005-12-19
  • 打赏
  • 举报
回复
%(模)
提供两数相除后的余数。

联机帮助索引中输入%,查看详细帮助信息
lxzm1001 2005-12-19
  • 打赏
  • 举报
回复
select 12%5
Jpp 2005-12-19
  • 打赏
  • 举报
回复
a%b
SQL的单记录函 1.ASCII 返回与指定的字符对应的十进制; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出整,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C -- - 赵 A 3.CONCAT 连接两个字符串; SQL> select concat('010-','88888888')||'转23' 高乾竞电话 from dual; 高乾竞电话 ---------------- 010-88888888转23 4.INITCAP 返回字符串并将字符串的第一个字母变为大写; SQL> select initcap('smith') upp from dual; UPP ----- Smith 5.INSTR(C1,C2,I,J) 在一个字符串搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1 SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from .nchar_tst; NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL)) ------ ------------ ---------------- ------------ --------- -------------------- 高乾竞 3 北京市海锭区 6 9999.99 7 7.LOWER 返回字符串,并将所有的字符小写 SQL> select lower('AaBbCcDd')AaBbCcDd from dual; AABBCCDD -------- aabbccdd 8.UPPER 返回字符串,并将所有的字符大写 SQL> select upper('AaBbCcDd') upper from dual; UPPER -------- AABBCCDD 9.RPAD和LPAD(粘贴字符) RPAD 在列的右边粘贴字符 LPAD 在列的左边粘贴字符 SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual; LPAD(RPAD('GAO',1 ----------------- *******gao******* 不够字符则用*来填满 10.LTRIM和RTRIM LTRIM 删除左边出现的字符串 RTRIM 删除右边出现的字符串 SQL> select ltrim(rtrim(' gao qian jing ',' '),' ') from dual; LTRIM(RTRIM(' ------------- gao qian jing 11.SUBSTR(string,start,count) 取子字符串,从start开始,取count个 SQL> select substr('13088888888',3,8) from dual; SUBSTR(' -------- 08888888 12.REPLACE('string','s1','s2') string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace('he love you','he','i') from dual; REPLACE('HELOVEYOU','HE','I') ------------------------------ i love you 13.SOUNDEX 返回一个与给定的字符串读音相同的字符串 SQL> create table table1(xm varchar(8)); SQL> insert into table1 values('weather'); SQL> insert into table1 values('wether'); SQL> insert into table1 values('gao'); SQL> select xm from table1 where soundex(xm)=soundex('weather'); XM -------- weather wether 14.TRIM('s' from 'string') LEADING 剪掉前面的字符 TRAILING 剪掉后面的字符 如果不指定,默认为空格符 15.ABS 返回指定值的绝对值 SQL> select abs(100),abs(-100) from dual; ABS(100) ABS(-100) --------- --------- 100 100 16.ACOS 给出反余弦的值 SQL> select acos(-1) from dual; ACOS(-1) --------- 3.1415927 17.ASIN 给出反正弦的值 SQL> select asin(0.5) from dual; ASIN(0.5) --------- .52359878 18.ATAN 返回一个字的反正切值 SQL> select atan(1) from dual; ATAN(1) --------- .78539816 19.CEIL 返回大于或等于给出字的最小整 SQL> select ceil(3.1415927) from dual; CEIL(3.1415927) --------------- 4 20.COS 返回一个给定字的余弦 SQL> select cos(-3.1415927) from dual; COS(-3.1415927) --------------- -1 21.COSH 返回一个字反余弦值 SQL> select cosh(20) from dual; COSH(20) --------- 242582598 22.EXP 返回一个字e的n次方根 SQL> select exp(2),exp(1) from dual; EXP(2) EXP(1) -------- --------- 7.3890561 2.7182818 23.FLOOR 对给定的字取整 SQL> select floor(2345.67) from dual; FLOOR(2345.67) -------------- 2345 24.LN 返回一个字的对SQL> select ln(1),ln(2),ln(2.7182818) from dual; LN(1) LN(2) LN(2.7182818) --------- --------- ------------- 0 .69314718 .99999999 25.LOG(n1,n2) 返回一个以n1为底n2的对 SQL> select log(2,1),log(2,4) from dual; LOG(2,1) LOG(2,4) --------- --------- 0 2 26.MOD(n1,n2) 返回一个n1除以n2的 SQL> select mod(10,3),mod(3,3),mod(2,3) from dual; MOD(10,3) MOD(3,3) MOD(2,3) --------- --------- --------- 1 0 2 27.POWER 返回n1的n2次方根 SQL> select power(2,10),power(3,3) from dual; POWER(2,10) POWER(3,3) ----------- ---------- 1024 27 28.ROUND和TRUNC 按照指定的精度进行舍入 SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual; ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5) ----------- ------------ ----------- ------------ 56 -55 55 -55 29.SIGN 取字n的符号,大于0返回1,小于0返回-1,等于0返回0 SQL> select sign(123),sign(-100),sign(0) from dual; SIGN(123) SIGN(-100) SIGN(0) --------- ---------- --------- 1 -1 0 30.SIN 返回一个字的正弦值 SQL> select sin(1.57079) from dual; SIN(1.57079) ------------ 1 31.SIGH 返回双曲正弦的值 SQL> select sin(20),sinh(20) from dual; SIN(20) SINH(20) --------- --------- .91294525 242582598 32.SQRT 返回字n的根 SQL> select sqrt(64),sqrt(10) from dual; SQRT(64) SQRT(10) --------- --------- 8 3.1622777 33.TAN 返回字的正切值 SQL> select tan(20),tan(10) from dual; TAN(20) TAN(10) --------- --------- 2.2371609 .64836083 34.TANH 返回字n的双曲正切值 SQL> select tanh(20),tan(20) from dual; TANH(20) TAN(20) --------- --------- 1 2.2371609 35.TRUNC 按照指定的精度截取一个 SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual; TRUNC1 TRUNC(124.16666,2) --------- ------------------ 100 124.16 36.ADD_MONTHS 增加或减去月份 SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual; TO_CHA ------ 200002 SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual; TO_CHA ------ 199910 37.LAST_DAY 返回日期的最后一天 SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual; TO_CHAR(SY TO_CHAR((S ---------- ---------- 2004.05.09 2004.05.10 SQL> select last_day(sysdate) from dual; LAST_DAY(S ---------- 31-5月 -04 38.MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份 SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual; MON_BETWEEN ----------- 9 SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd')) mon_betw from dual; MON_BETW --------- -60 39.NEW_TIME(date,'this','that') 给出在this时区=other时区的日期和时间 SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time 2 (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual; BJ_TIME LOS_ANGLES ------------------- ------------------- 2004.05.09 11:05:32 2004.05.09 18:05:32 40.NEXT_DAY(date,'day') 给出日期date和星期x之后计算下一个星期的日期 SQL> select next_day('18-5月-2001','星期五') next_day from dual; NEXT_DAY ---------- 25-5月 -01 41.SYSDATE 用来得到系统的当前日期 SQL> select to_char(sysdate,'dd-mm-yyyy day') from dual; TO_CHAR(SYSDATE,' ----------------- 09-05-2004 星期日 trunc(date,fmt)按照给出的要将日期截断,如果fmt='mi'表示保留分,截断秒 SQL> select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss') hh, 2 to_char(trunc(sysdate,'mi'),'yyyy.mm.dd hh24:mi:ss') hhmm from dual; HH HHMM ------------------- ------------------- 2004.05.09 11:00:00 2004.05.09 11:17:00 42.CHARTOROWID 将字符据类型转换为ROWID类型 SQL> select rowid,rowidtochar(rowid),ename from scott.emp; ROWID ROWIDTOCHAR(ROWID) ENAME ------------------ ------------------ ---------- AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA SMITH AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES 43.CONVERT(c,dset,sset) 将源字符串 sset从一个语言字符集转换到另一个目的dset字符集 SQL> select convert('strutz','we8hp','f7dec') "conversion" from dual; conver ------ strutz 44.HEXTORAW 将一个十六进制构成的字符串转换为二进制 45.RAWTOHEXT 将一个二进制构成的字符串转换为十六进制 46.ROWIDTOCHAR 将ROWID据类型转换为字符类型 47.TO_CHAR(date,'format') SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual; TO_CHAR(SYSDATE,'YY ------------------- 2004/05/09 21:14:41 48.TO_DATE(string,'format') 将字符串转化为ORACLE一个日期 49.TO_MULTI_BYTE 将字符串的单字节字符转化为多字节字符 SQL> select to_multi_byte('高') from dual; TO -- 高 50.TO_NUMBER 将给出的字符转换为SQL> select to_number('1999') year from dual; YEAR --------- 1999 51.BFILENAME(dir,file) 指定一个外部二进制文件 SQL>insert into file_tb1 values(bfilename('lob_dir1','image1.gif')); 52.CONVERT('x','desc','source') 将x字段或变量的源source转换为desc SQL> select sid,serial#,username,decode(command, 2 0,'none', 3 2,'insert', 4 3, 5 'select', 6 6,'update', 7 7,'delete', 8 8,'drop', 9 'other') cmd from v$session where type!='background'; SID SERIAL# USERNAME CMD --------- --------- ------------------------------ ------ 1 1 none 2 1 none 3 1 none 4 1 none 5 1 none 6 1 none 7 1275 none 8 1275 none 9 20 GAO select 10 40 GAO none 53.DUMP(s,fmt,start,length) DUMP函以fmt指定的内部字格式返回一个VARCHAR2类型的值 SQL> col global_name for a30 SQL> col dump_string for a50 SQL> set lin 200 SQL> select global_name,dump(global_name,1017,8,5) dump_string from global_name; GLOBAL_NAME DUMP_STRING ------------------------------ -------------------------------------------------- ORACLE.WORLD Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D 54.EMPTY_BLOB()和EMPTY_CLOB() 这两个函都是用来对大据类型字段进行初始化操作的函 55.GREATEST 返回一组表达式的最大值,即比较字符的编码大小. SQL> select greatest('AA','AB','AC') from dual; GR -- AC SQL> select greatest('啊','安','天') from dual; GR -- 天 56.LEAST 返回一组表达式的最小值 SQL> select least('啊','安','天') from dual; LE -- 啊 57.UID 返回标识当前用户的唯一整 SQL> show user USER 为"GAO" SQL> select username,user_id from dba_users where user_id=uid; USERNAME USER_ID ------------------------------ --------- GAO 25 58.USER 返回当前用户的名字 SQL> select user from dual; USER ------------------------------ GAO 59.USEREVN 返回当前用户环境的信息,opt可以是: ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE ISDBA 查看当前用户是否是DBA如果是则返回true SQL> select userenv('isdba') from dual; USEREN ------ FALSE SQL> select userenv('isdba') from dual; USEREN ------ TRUE SESSION 返回会话标志 SQL> select userenv('sessionid') from dual; USERENV('SESSIONID') -------------------- 152 ENTRYID 返回会话人口标志 SQL> select userenv('entryid') from dual; USERENV('ENTRYID') ------------------ 0 INSTANCE 返回当前INSTANCE的标志 SQL> select userenv('instance') from dual; USERENV('INSTANCE') ------------------- 1 LANGUAGE 返回当前环境变量 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK LANG 返回当前环境的语言的缩写 SQL> select userenv('lang') from dual; USERENV('LANG') ---------------------------------------------------- ZHS TERMINAL 返回用户的终端或机器的标志 SQL> select userenv('terminal') from dual; USERENV('TERMINA ---------------- GAO VSIZE(X) 返回X的大小(字节) SQL> select vsize(user),user from dual; VSIZE(USER) USER ----------- ------------------------------ 6 SYSTEM 60.AVG(DISTINCT|ALL) all表示对所有的值平均值,distinct只对不同的值平均值 SQLWKS> create table table3(xm varchar(8),sal number(7,2)); 语句已处理。 SQLWKS> insert into table3 values('gao',1111.11); SQLWKS> insert into table3 values('gao',1111.11); SQLWKS> insert into table3 values('zhu',5555.55); SQLWKS> commit; SQL> select avg(distinct sal) from gao.table3; AVG(DISTINCTSAL) ---------------- 3333.33 SQL> select avg(all sal) from gao.table3; AVG(ALLSAL) ----------- 2592.59 61.MAX(DISTINCT|ALL) 最大值,ALL表示对所有的值最大值,DISTINCT表示对不同的值最大值,相同的只取一次 SQL> select max(distinct sal) from scott.emp; MAX(DISTINCTSAL) ---------------- 5000 62.MIN(DISTINCT|ALL) 最小值,ALL表示对所有的值最小值,DISTINCT表示对不同的值最小值,相同的只取一次 SQL> select min(all sal) from gao.table3; MIN(ALLSAL) ----------- 1111.11 63.STDDEV(distinct|all) 标准差,ALL表示对所有的值标准差,DISTINCT表示只对不同的值标准差 SQL> select stddev(sal) from scott.emp; STDDEV(SAL) ----------- 1182.5032 SQL> select stddev(distinct sal) from scott.emp; STDDEV(DISTINCTSAL) ------------------- 1229.951 64.VARIANCE(DISTINCT|ALL) 协方差 SQL> select variance(sal) from scott.emp; VARIANCE(SAL) ------------- 1398313.9 65.GROUP BY 主要用来对一组进行统计 SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno; DEPTNO COUNT(*) SUM(SAL) --------- --------- --------- 10 3 8750 20 5 10875 30 6 9400 66.HAVING 对分组统计再加限制条件 SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno having nt(*)>=5; DEPTNO COUNT(*) SUM(SAL) --------- --------- --------- 20 5 10875 30 6 9400 SQL> select deptno,count(*),sum(sal) from scott.emp having count(*)>=5 group by tno ; DEPTNO COUNT(*) SUM(SAL) --------- --------- --------- 20 5 10875 30 6 9400 67.ORDER BY 用于对查询到的结果进行排序输出 SQL> select deptno,ename,sal from scott.emp order by deptno,sal desc; DEPTNO ENAME SAL --------- ---------- --------- 10 KING 5000 10 CLARK 2450 10 MILLER 1300 20 SCOTT 3000 20 FORD 3000 20 JONES 2975 20 ADAMS 1100 20 SMITH 800 30 BLAKE 2850 30 ALLEN 1600 30 TURNER 1500 30 WARD 1250 30 MARTIN 1250 30 JAMES 950
最好的sql教程 轻举技术之“纲”,张合用之“目”,锻造SQL高可用性据库应用指南从理论到实践,凝聚SQL主流据库最前沿的技术要领,本书将深入浅出讨论。   本书特色:主要介绍SQL的语法规则及在实际开发的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2的差异进行了分析;详细讲解据库对增、删、改、查等SQL的支持并给出了相应的SQL应用案例;透彻分析函、子查询、表连接、不同DBMSSQL语法差异、SQL调优、NULL值处理、事务、开窗函等高级技术;通过对实际案例开发过程的详细分析,使读者掌握 SQL的综合应用技巧。 内容简介 本书主要介绍SQL的语法规则及在实际开发的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2的差异进行了分析。本书分为3部分:第1部分为基础篇,主要讲解据库对增、删、改、查等SQL的支持,给出了这些 SQL的应用案例;第2部分为进阶篇,讲解了函、子查询、表连接、不同DBMSSQL语法差异、SQL调优、NULL值处理、事务、开窗函等高级技术;第3部分为案例篇,对前两部分的知识进行了综合运用。   本书适合程序开发人员及据库工程师参考学习,也可作为高等院校相关专业师生的参考书。 目录 第1章 据库入门  1.1 据库概述   1.1.1 据库与据库管理系统   1.1.2 据库能做什么   1.1.3 主流据库管理系统介绍  1.2 据库基础概念   1.2.1 Catalog   1.2.2 表(Table)   1.2.3 列(Column)   1.2.4 据类型(DataType)   1.2.5 记录(Record)   1.2.6 主键(PrimaryKey)   1.2.7 索引(Index)   1.2.8 表关联   1.2.9 据库的语言——SQL   1.2.10 DBA与程序员 第2章 据表的创建和管理  2.1 据类型   2.1.1 整类型   2.1.2 值类型   2.1.3 字符相关类型   2.1.4 日期时间类型   2.1.5 二进制类型  2.2 通过SQL语句管理据表   2.2.1 创建据表   2.2.2 定义非空约束   2.2.3 定义默认值   2.2.4 定义主键   2.2.5 定义外键   2.2.6 修改已有据表   2.2.7 删除据表   2.2.8 受限操作的变通解决方案 第3章 据的增、删、改  3.1 据的插入   3.1.1 简单的INSERT语句   3.1.2 简化的INSERT语句   3.1.3 非空约束对据插入的影响   3.1.4 主键对据插入的影响   3.1.5 外键对据插入的影响  3.2 据的更新   3.2.1 简单的据更新   3.2.2 带WHERE子句的UPDATE语句   3.2.3 非空约束对据更新的影响   3.2.4 主键对据更新的影响   3.2.5 外键对据更新的影响  3.3 据的删除   3.3.1 简单的据删除   3.3.2 带WHERE子句的DELETE语句 第4章 据的检索  4.1 SELECT基本用法   4.1.1 简单的据检索   4.1.2 检索出需要的列   4.1.3 列别名   4.1.4 按条件过滤   4.1.5 据汇总   4.1.6 排序  4.2 高级据过滤   4.2.1 通配符过滤   4.2.2 空值检测   4.2.3 反义运算符   4.2.4 多值检测   4.2.5 范围值检测   4.2.6 低效的“WHERE 1=1”  4.3 据分组   4.3.1 据分组入门   4.3.2 据分组与聚合函   4.3.3 HAVING语句  4.4 限制结果集行   4.4.1 MySQL   4.4.2 MS SQL Server 2000   4.4.3 MS SQL Server 2005   4.4.4 Oracle   4.4.5 DB2   4.4.6 据库分页  4.5 抑制据重复  4.6 计算字段   4.6.1 常量字段   4.6.2 字段间的计算   4.6.3 据处理函   4.6.4 字符串的拼接   4.6.5 计算字段的其他用途  4.7 不从实体表取的据  4.8 联合结果集   4.8.1 简单的结果集联合   4.8.2 联合结果集的原则   4.8.3 UNION ALL   4.8.4 联合结果集应用举例 第5章 函  5.1 学函   5.1.1 绝对值   5.1.2   5.1.3 平方根   5.1.4 随机   5.1.5 舍入到最大整   5.1.6 舍入到最小整   5.1.7 四舍五入   5.1.8 正弦值   5.1.9 余弦值   5.1.10 反正弦值   5.1.11 反余弦值   5.1.12 正切值   5.1.13 反正切值   5.1.14 两个变量的反正切   5.1.15 余切   5.1.16 圆周率π值   5.1.17 弧度制转换为角度制   5.1.18 角度制转换为弧度制   5.1.19 符号   5.1.20 整除   5.1.21 自然对   5.1.22 以10为底的对   5.1.23 幂  5.2 字符串函   5.2.1 计算字符串长度   5.2.2 字符串转换为小写   5.2.3 字符串转换为大写   5.2.4 截去字符串左侧空格   5.2.5 截去字符串右侧空格   5.2.6 截去字符串两侧的空格   5.2.7 取子字符串   5.2.8 计算子字符串的位置   5.2.9 从左侧开始取子字符串   5.2.10 从右侧开始取子字符串   5.2.11 字符串替换   5.2.12 得到字符的ASCII码   5.2.13 得到一个ASCII码字对应的字符   5.2.14 发音匹配度  5.3 日期时间函   5.3.1 日期、时间、日期时间与时间戳   5.3.2 主流据库系统日期时间类型的表示方式   5.3.3 取得当前日期时间   5.3.4 日期增减   5.3.5 计算日期差额   5.3.6 计算一个日期是星期几   5.3.7 取得日期的指定部分  5.4 其他函   5.4.1 类型转换   5.4.2 空值处理   5.4.3 CASE函  5.5 各据库系统独有函   5.5.1 MySQL的独有函   5.5.2 MS SQL Server的独有函   5.5.3 Oracle的独有函 第6章 索引与约束  6.1 索引  6.2 约束   6.2.1 非空约束   6.2.2 唯一约束   6.2.3 CHECK约束   6.2.4 主键约束   6.2.5 外键约束 第7章 表连接  7.1 表连接简介  7.2 内连接(INNER JOIN)  7.3 不等值连接  7.4 交叉连接  7.5 自连接  7.6 外部连接   7.6.1 左外部连接   7.6.2 右外部连接   7.6.3 全外部连接 第8章 子查询  8.1 子查询入门   8.1.1 单值子查询   8.1.2 列值子查询  8.2 SELECT列表的标量子查询  8.3 WHERE子句的标量子查询  8.4 集合运算符与子查询   8.4.1 IN运算符   8.4.2 ANY和SOME运算符   8.4.3 ALL运算符   8.4.4 EXISTS运算符  8.5 在其他类型SQL语句的子查询应用   8.5.1 子查询在INSERT语句的应用   8.5.2 子查询在UPDATE语句的应用   8.5.3 子查询在DELETE语句的应用 第9章 主流据库的SQL语法差异解决方案  9.1 SQL语法差异分析   9.1.1 据类型的差异   9.1.2 运算符的差异   9.1.3 函的差异   9.1.4 常用SQL的差异   9.1.5 取元据信息的差异  9.2 消除差异性的方案   9.2.1 为每种据库编写不同的SQL语句   9.2.2 使用语法交集   9.2.3 使用SQL实体对象   9.2.4 使用ORM工具   9.2.5 使用SQL翻译器  9.3 CowNewSQL翻译器   9.3.1 CowNewSQL支持的据类型   9.3.2 CowNewSQL支持的SQL语法   9.3.3 CowNewSQL支持的函   9.3.4 CowNewSQL的使用方法 第10章 高级话题  10.1 SQL注入漏洞攻防   10.1.1 SQL注入漏洞原理   10.1.2 过滤敏感字符   10.1.3 使用参SQL  10.2 SQL调优   10.2.1 SQL调优的基本原则   10.2.2 索引   10.2.3 全表扫描和索引查找   10.2.4 优化手法  10.3 事务   10.3.1 事务简介   10.3.2 事务的隔离   10.3.3 事务的隔离级别   10.3.4 事务的使用  10.4 自动增长字段   10.4.1 MySQL的自动增长字段   10.4.2 MS SQL Server的自动增长字段   10.4.3 Oracle的自动增长字段   10.4.4 DB2的自动增长字段  10.5 业务主键与逻辑主键  10.6 NULL的学问   10.6.1 NULL与比较运算符   10.6.2 NULL和计算字段   10.6.3 NULL和字符串   10.6.4 NULL和函   10.6.5 NULL和聚合函  10.7 开窗函   10.7.1 开窗函简介   10.7.2 PARTITION BY子句   10.7.3 ORDER BY子句   10.7.4 高级开窗函  10.8 WITH子句与子查询 第11章 案例讲解  11.1 报表制作   11.1.1 显示制单人详细信息   11.1.2 显示销售单的详细信息   11.1.3 计算收益   11.1.4 产品销售额统计   11.1.5 统计销售记录的份额   11.1.6 为采购单分级   11.1.7 检索所有重叠日期销售单   11.1.8 为查询编号   11.1.9 标记所有单内最大销售量  11.2 排序   11.2.1 非字段排序规则   11.2.2 随机排序  11.3 表间比较   11.3.1 检索制作过采购单的人制作的销售单   11.3.2 检索没有制作过采购单的人制作的销售单  11.4 表复制   11.4.1 复制源表的结构并复制表据   11.4.2 只复制源表的结构  11.5 计算字符在字符串出现的次  11.6 去除最高分、最低分   11.6.1 去除所有最低、最高值   11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用   11.7.1 计算销售确认日和制单日之间相差的天   11.7.2 计算两张销售单之间的时间间隔   11.7.3 计算销售单制单日期所在年份的天   11.7.4 计算销售单制单日期所在月份的第一天和最后一天  11.8 结果集转置   11.8.1 将结果集转置为一行   11.8.2 把结果集转置为多行  11.9 递归查询   11.9.1 Oracle的CONNECT BY子句   11.9.2 Oracle的SYS_CONNECT_BY_PATH()函   11.9.3 My SQL Server和DB2递归查询 附录A 常用据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用
目录 第1章 据库入门  1.1 据库概述   1.1.1 据库与据库管理系统   1.1.2 据库能做什么   1.1.3 主流据库管理系统介绍  1.2 据库基础概念   1.2.1 Catalog   1.2.2 表(Table)   1.2.3 列(Column)   1.2.4 据类型(DataType)   1.2.5 记录(Record)   1.2.6 主键(PrimaryKey)   1.2.7 索引(Index)   1.2.8 表关联   1.2.9 据库的语言——SQL   1.2.10 DBA与程序员 第2章 据表的创建和管理  2.1 据类型   2.1.1 整类型   2.1.2 值类型   2.1.3 字符相关类型   2.1.4 日期时间类型   2.1.5 二进制类型  2.2 通过SQL语句管理据表   2.2.1 创建据表   2.2.2 定义非空约束   2.2.3 定义默认值   2.2.4 定义主键   2.2.5 定义外键   2.2.6 修改已有据表   2.2.7 删除据表   2.2.8 受限操作的变通解决方案 第3章 据的增、删、改  3.1 据的插入   3.1.1 简单的INSERT语句   3.1.2 简化的INSERT语句   3.1.3 非空约束对据插入的影响   3.1.4 主键对据插入的影响   3.1.5 外键对据插入的影响  3.2 据的更新   3.2.1 简单的据更新   3.2.2 带WHERE子句的UPDATE语句   3.2.3 非空约束对据更新的影响   3.2.4 主键对据更新的影响   3.2.5 外键对据更新的影响  3.3 据的删除   3.3.1 简单的据删除   3.3.2 带WHERE子句的DELETE语句 第4章 据的检索  4.1 SELECT基本用法   4.1.1 简单的据检索   4.1.2 检索出需要的列   4.1.3 列别名   4.1.4 按条件过滤   4.1.5 据汇总   4.1.6 排序  4.2 高级据过滤   4.2.1 通配符过滤   4.2.2 空值检测   4.2.3 反义运算符   4.2.4 多值检测   4.2.5 范围值检测   4.2.6 低效的“WHERE 1=1”  4.3 据分组   4.3.1 据分组入门   4.3.2 据分组与聚合函   4.3.3 HAVING语句  4.4 限制结果集行   4.4.1 MySQL   4.4.2 MS SQL Server 2000   4.4.3 MS SQL Server 2005   4.4.4 Oracle   4.4.5 DB2   4.4.6 据库分页  4.5 抑制据重复  4.6 计算字段   4.6.1 常量字段   4.6.2 字段间的计算   4.6.3 据处理函   4.6.4 字符串的拼接   4.6.5 计算字段的其他用途  4.7 不从实体表取的据  4.8 联合结果集   4.8.1 简单的结果集联合   4.8.2 联合结果集的原则   4.8.3 UNION ALL   4.8.4 联合结果集应用举例 第5章 函  5.1 学函   5.1.1 绝对值   5.1.2   5.1.3 平方根   5.1.4 随机   5.1.5 舍入到最大整   5.1.6 舍入到最小整   5.1.7 四舍五入   5.1.8 正弦值   5.1.9 余弦值   5.1.10 反正弦值   5.1.11 反余弦值   5.1.12 正切值   5.1.13 反正切值   5.1.14 两个变量的反正切   5.1.15 余切   5.1.16 圆周率π值   5.1.17 弧度制转换为角度制   5.1.18 角度制转换为弧度制   5.1.19 符号   5.1.20 整除   5.1.21 自然对   5.1.22 以10为底的对   5.1.23 幂  5.2 字符串函   5.2.1 计算字符串长度   5.2.2 字符串转换为小写   5.2.3 字符串转换为大写   5.2.4 截去字符串左侧空格   5.2.5 截去字符串右侧空格   5.2.6 截去字符串两侧的空格   5.2.7 取子字符串   5.2.8 计算子字符串的位置   5.2.9 从左侧开始取子字符串   5.2.10 从右侧开始取子字符串   5.2.11 字符串替换   5.2.12 得到字符的ASCII码   5.2.13 得到一个ASCII码字对应的字符   5.2.14 发音匹配度  5.3 日期时间函   5.3.1 日期、时间、日期时间与时间戳   5.3.2 主流据库系统日期时间类型的表示方式   5.3.3 取得当前日期时间   5.3.4 日期增减   5.3.5 计算日期差额   5.3.6 计算一个日期是星期几   5.3.7 取得日期的指定部分  5.4 其他函   5.4.1 类型转换   5.4.2 空值处理   5.4.3 CASE函  5.5 各据库系统独有函   5.5.1 MySQL的独有函   5.5.2 MS SQL Server的独有函   5.5.3 Oracle的独有函 第6章 索引与约束  6.1 索引  6.2 约束   6.2.1 非空约束   6.2.2 唯一约束   6.2.3 CHECK约束   6.2.4 主键约束   6.2.5 外键约束 第7章 表连接  7.1 表连接简介  7.2 内连接(INNER JOIN)  7.3 不等值连接  7.4 交叉连接  7.5 自连接  7.6 外部连接   7.6.1 左外部连接   7.6.2 右外部连接   7.6.3 全外部连接 第8章 子查询  8.1 子查询入门   8.1.1 单值子查询   8.1.2 列值子查询  8.2 SELECT列表的标量子查询  8.3 WHERE子句的标量子查询  8.4 集合运算符与子查询   8.4.1 IN运算符   8.4.2 ANY和SOME运算符   8.4.3 ALL运算符   8.4.4 EXISTS运算符  8.5 在其他类型SQL语句的子查询应用   8.5.1 子查询在INSERT语句的应用   8.5.2 子查询在UPDATE语句的应用   8.5.3 子查询在DELETE语句的应用 第9章 主流据库的SQL语法差异解决方案  9.1 SQL语法差异分析   9.1.1 据类型的差异   9.1.2 运算符的差异   9.1.3 函的差异   9.1.4 常用SQL的差异   9.1.5 取元据信息的差异  9.2 消除差异性的方案   9.2.1 为每种据库编写不同的SQL语句   9.2.2 使用语法交集   9.2.3 使用SQL实体对象   9.2.4 使用ORM工具   9.2.5 使用SQL翻译器  9.3 CowNewSQL翻译器   9.3.1 CowNewSQL支持的据类型   9.3.2 CowNewSQL支持的SQL语法   9.3.3 CowNewSQL支持的函   9.3.4 CowNewSQL的使用方法 第10章 高级话题  10.1 SQL注入漏洞攻防   10.1.1 SQL注入漏洞原理   10.1.2 过滤敏感字符   10.1.3 使用参SQL  10.2 SQL调优   10.2.1 SQL调优的基本原则   10.2.2 索引   10.2.3 全表扫描和索引查找   10.2.4 优化手法  10.3 事务   10.3.1 事务简介   10.3.2 事务的隔离   10.3.3 事务的隔离级别   10.3.4 事务的使用  10.4 自动增长字段   10.4.1 MySQL的自动增长字段   10.4.2 MS SQL Server的自动增长字段   10.4.3 Oracle的自动增长字段   10.4.4 DB2的自动增长字段  10.5 业务主键与逻辑主键  10.6 NULL的学问   10.6.1 NULL与比较运算符   10.6.2 NULL和计算字段   10.6.3 NULL和字符串   10.6.4 NULL和函   10.6.5 NULL和聚合函  10.7 开窗函   10.7.1 开窗函简介   10.7.2 PARTITION BY子句   10.7.3 ORDER BY子句   10.7.4 高级开窗函  10.8 WITH子句与子查询 第11章 案例讲解  11.1 报表制作   11.1.1 显示制单人详细信息   11.1.2 显示销售单的详细信息   11.1.3 计算收益   11.1.4 产品销售额统计   11.1.5 统计销售记录的份额   11.1.6 为采购单分级   11.1.7 检索所有重叠日期销售单   11.1.8 为查询编号   11.1.9 标记所有单内最大销售量  11.2 排序   11.2.1 非字段排序规则   11.2.2 随机排序  11.3 表间比较   11.3.1 检索制作过采购单的人制作的销售单   11.3.2 检索没有制作过采购单的人制作的销售单  11.4 表复制   11.4.1 复制源表的结构并复制表据   11.4.2 只复制源表的结构  11.5 计算字符在字符串出现的次  11.6 去除最高分、最低分   11.6.1 去除所有最低、最高值   11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用   11.7.1 计算销售确认日和制单日之间相差的天   11.7.2 计算两张销售单之间的时间间隔   11.7.3 计算销售单制单日期所在年份的天   11.7.4 计算销售单制单日期所在月份的第一天和最后一天  11.8 结果集转置   11.8.1 将结果集转置为一行   11.8.2 把结果集转置为多行  11.9 递归查询   11.9.1 Oracle的CONNECT BY子句   11.9.2 Oracle的SYS_CONNECT_BY_PATH()函   11.9.3 My SQL Server和DB2递归查询 附录A 常用据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用 显示部分信息

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧