社区
疑难问题
帖子详情
在SQL Server中怎样求一个数的余数?
railgunman
2005-12-19 01:19:45
在SQL Server中怎样求一个数的余数?
用T-SQL实现怎么实现呢?
相当于Delpi里的mod运算
...全文
1304
3
打赏
收藏
在SQL Server中怎样求一个数的余数?
在SQL Server中怎样求一个数的余数? 用T-SQL实现怎么实现呢? 相当于Delpi里的mod运算
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
OracleRoob
2005-12-19
打赏
举报
回复
%(模)
提供两数相除后的余数。
联机帮助索引中输入%,查看详细帮助信息
lxzm1001
2005-12-19
打赏
举报
回复
select 12%5
Jpp
2005-12-19
打赏
举报
回复
a%b
SQL
Server
基本语法
SQL
Server
基本语法 的 笔记 所有语法一一罗列完全
MY
SQL
,
SQL
SERVER
,ORACLE常用的函
数
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只对不同的值
求
平均值
SQL
WKS> create table table3(xm varchar(8),sal number(7,2)); 语句已处理。
SQL
WKS> insert into table3 values('gao',1111.11);
SQL
WKS> insert into table3 values('gao',1111.11);
SQL
WKS> insert into table3 values('zhu',5555.55);
SQL
WKS> 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
Server
高可用技术,从菜鸟到专家
WS2016-
SQL
2017与WS2019-
SQL
2019是目前大多
数
企业
SQL
Server
高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。 本课程为后续...
程序员的
SQL
金典.rar
最好的
sql
教程 轻举技术之“纲”,张合用之“目”,锻造
SQL
高可用性
数
据库应用指南从理论到实践,凝聚
SQL
主流
数
据库最前沿的技术要领,本书将深入浅出讨论。 本书特色:主要介绍
SQL
的语法规则及在实际开发
中
的应用,并且对
SQL
在My
SQL
、MS
SQL
Server
、Oracle和DB2
中
的差异进行了分析;详细讲解
数
据库对增、删、改、查等
SQL
的支持并给出了相应的
SQL
应用案例;透彻分析函
数
、子查询、表连接、不同DBMS
中
的
SQL
语法差异、
SQL
调优、NULL值处理、事务、开窗函
数
等高级技术;通过对实际案例开发过程的详细分析,使读者掌握
SQL
的综合应用技巧。 内容简介 本书主要介绍
SQL
的语法规则及在实际开发
中
的应用,并且对
SQL
在My
SQL
、MS
SQL
Server
、Oracle和DB2
中
的差异进行了分析。本书分为3部分:第1部分为基础篇,主要讲解
数
据库对增、删、改、查等
SQL
的支持,给出了这些
SQL
的应用案例;第2部分为进阶篇,讲解了函
数
、子查询、表连接、不同DBMS
中
的
SQL
语法差异、
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 My
SQL
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 My
SQL
中
的独有函
数
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 CowNew
SQL
翻译器 9.3.1 CowNew
SQL
支持的
数
据类型 9.3.2 CowNew
SQL
支持的
SQL
语法 9.3.3 CowNew
SQL
支持的函
数
9.3.4 CowNew
SQL
的使用方法 第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 My
SQL
中
的自动增长字段 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 My
SQL
的安装和使用 A.3 Oracle的安装和使用 A.4 Microsoft
SQL
Server
的安装和使用
程序员的
SQL
金典4-8
目录 第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 My
SQL
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 My
SQL
中
的独有函
数
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 CowNew
SQL
翻译器 9.3.1 CowNew
SQL
支持的
数
据类型 9.3.2 CowNew
SQL
支持的
SQL
语法 9.3.3 CowNew
SQL
支持的函
数
9.3.4 CowNew
SQL
的使用方法 第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 My
SQL
中
的自动增长字段 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 My
SQL
的安装和使用 A.3 Oracle的安装和使用 A.4 Microsoft
SQL
Server
的安装和使用 显示部分信息
疑难问题
22,210
社区成员
121,726
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章