﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Happy New Year (*^__^*)-随笔分类-数据库</title><link>http://www.blogjava.net/cyanbomb/category/28413.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 28 Dec 2007 08:47:27 GMT</lastBuildDate><pubDate>Fri, 28 Dec 2007 08:47:27 GMT</pubDate><ttl>60</ttl><item><title>db2常用口令</title><link>http://www.blogjava.net/cyanbomb/archive/2007/12/28/171081.html</link><dc:creator>cyanbomb</dc:creator><author>cyanbomb</author><pubDate>Fri, 28 Dec 2007 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/cyanbomb/archive/2007/12/28/171081.html</guid><wfw:comment>http://www.blogjava.net/cyanbomb/comments/171081.html</wfw:comment><comments>http://www.blogjava.net/cyanbomb/archive/2007/12/28/171081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cyanbomb/comments/commentRss/171081.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cyanbomb/services/trackbacks/171081.html</trackback:ping><description><![CDATA[<p>查看当前db2实例中有那些数据库：<br />
<br />
db2 list database directory<br />
<br />
查看数据库中有那些表：<br />
db2 connect to db_name user xxx using xxxx<br />
db2 list tables<br />
<br />
列出用户创建的所有表<br />
db2 list tables for user_name <br />
<br />
列出所有schema为xx的表<br />
db2 list tables for schema xxx<br />
<br />
查看某个表中的字段情况：<br />
<br />
db2 describe table table_name<br />
db2 describe table table_name show detail<br />
</p>
<p>------------------------------------------------------------------------<br />
</p>
<p>1. 建立数据库DB2_GCB </p>
<p>CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB <br />
<br />
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 </p>
<p>2. 连接数据库 </p>
<p>connect to sample1 user db2admin using 8301206 </p>
<p>3. 建立别名 </p>
<div id="w_hzh">
<script type="text/javascript"><!--
google_ad_client = "pub-1572879403720716";
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = "300x250_as";
google_ad_type = "text_image";
google_ad_channel ="0168087865";
google_alternate_ad_url ="http://www.qqread.com/0000js/google300.htm";
google_color_border = "F9FCFE";
google_color_bg = "F9FCFE";
google_color_link = "1F3A87";
google_color_url = "FF6666";
google_color_text = "000000"
google_language = 'zh-CN';
//--></script>
</div>
<p>create alias db2admin.tables for sysstat.tables; <br />
<br />
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS <br />
<br />
create alias db2admin.columns for syscat.columns; <br />
<br />
create alias guest.columns for syscat.columns; </p>
<p>4. 建立表 </p>
<p>create table zjt_tables as <br />
<br />
(select * from tables) definition only; <br />
<br />
create table zjt_views as <br />
<br />
(select * from views) definition only; </p>
<p>5. 插入记录 </p>
<p>insert into zjt_tables select * from tables; <br />
<br />
insert into zjt_views select * from views; </p>
<p>6. 建立视图 </p>
<p>create view V_zjt_tables as select tabschema,tabname from zjt_tables; </p>
<p>7. 建立触发器 </p>
<p>CREATE TRIGGER zjt_tables_del <br />
<br />
AFTER DELETE ON zjt_tables <br />
<br />
REFERENCING OLD AS O <br />
<br />
FOR EACH ROW MODE DB2SQL <br />
<br />
Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) </p>
<p>8. 建立唯一性索引 </p>
<p>CREATE UNIQUE INDEX I_ztables_tabname <br />
<br />
[size=3]ON zjt_tables(tabname); <br />
<br />
9. 查看表 </p>
<p>select tabname from tables <br />
<br />
where tabname='ZJT_TABLES'; </p>
<p>10. 查看列 </p>
<p>select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度 <br />
<br />
from columns <br />
<br />
where tabname='ZJT_TABLES'; </p>
<p>11. 查看表结构 </p>
<p>db2 describe table user1.department <br />
<br />
db2 describe select * from user.tables </p>
<p>12. 查看表的索引 </p>
<p>db2 describe indexes for table user1.department </p>
<p>13. 查看视图 </p>
<p>select viewname from views <br />
<br />
where viewname='V_ZJT_TABLES'; </p>
<p>14. 查看索引 </p>
<p>select indname from indexes <br />
<br />
where indname='I_ZTABLES_TABNAME'; </p>
<p>15. 查看存贮过程 </p>
<p>SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) <br />
<br />
FROM SYSCAT.PROCEDURES; </p>
<p>16. 类型转换(cast) </p>
<p>ip datatype:varchar <br />
<br />
select cast(ip as integer)+50 from log_comm_failed </p>
<p>17. 重新连接 </p>
<p>connect reset </p>
<p>18. 中断数据库连接 </p>
<p>disconnect db2_gcb </p>
<p>19. view application </p>
<p>LIST APPLICATION; </p>
<p>20. kill application </p>
<p>FORCE APPLICATION(0); <br />
<br />
db2 force applications all (强迫所应用程序从数据库断开) </p>
<p>21. lock table</p>
<p>lock table test in exclusive mode </p>
<p>22. 共享 </p>
<p>lock table test in share mode </p>
<p>23. 显示当前用户所有表 </p>
<p>list tables </p>
<p>24. 列出所有的系统表 </p>
<p>list tables for system </p>
<p>25. 显示当前活动数据库 </p>
<p>list active databases </p>
<p>26. 查看命令选项 </p>
<p>list command options </p>
<p>27. 系统数据库目录 </p>
<p>LIST DATABASE DIRECTORY </p>
<p>28. 表空间 </p>
<p>list tablespaces </p>
<p>29. 表空间容器 </p>
<p>LIST TABLESPACE CONTAINERS FOR <br />
<br />
Example: LIST TABLESPACE CONTAINERS FOR 1 </p>
<p>30. 显示用户数据库的存取权限 </p>
<p>GET AUTHORIZATIONS</p>
<p>31. 启动实例
</p>
<p>DB2START </p>
<p>32. 停止实例 </p>
<p>db2stop </p>
<p>33. 表或视图特权 </p>
<p>grant select,delete,insert,update on tables to user <br />
<br />
grant all on tables to user WITH GRANT OPTION </p>
<p>34. 程序包特权 </p>
<div id="w_hzh">
<script type="text/javascript"><!--
google_ad_client = "pub-1572879403720716";
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = "300x250_as";
google_ad_type = "text_image";
google_ad_channel ="0168087865";
google_alternate_ad_url ="http://www.qqread.com/0000js/google300.htm";
google_color_border = "F9FCFE";
google_color_bg = "F9FCFE";
google_color_link = "1F3A87";
google_color_url = "FF6666";
google_color_text = "000000"
google_language = 'zh-CN';
//--></script>
</div>
<p>GRANT EXECUTE <br />
<br />
ON PACKAGE PACKAGE-name <br />
<br />
TO PUBLIC </p>
<p>35. 模式特权 </p>
<p>GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER </p>
<p>36. 数据库特权 </p>
<p>grant connect,createtab,dbadm on database to user </p>
<p>37. 索引特权 </p>
<p>grant control on index index-name to user </p>
<p>38. 信息帮助 (? XXXnnnnn ) </p>
<p>例:? SQL30081 </p>
<p>39. SQL 帮助(说明 SQL 语句的语法 </p>
<p>help statement <br />
<br />
例如，help SELECT </p>
<p>40. SQLSTATE 帮助(说明 SQL 的状态和类别代码) </p>
<p>? sqlstate 或 ? class-code </p>
<p>41. 更改与"管理务器"相关的口令 </p>
<p>db2admin setid username password </p>
<p>42. 创建 SAMPLE 数据库 </p>
<p>db2sampl <br />
<br />
db2sampl F:(指定安装盘) </p>
<p>43. 使用操作系统令 </p>
<p>! dir </p>
<p>44. 转换数据类型 (cast) </p>
<p>SELECT EMPNO, CAST(RESUME AS VARCHAR(370)) <br />
<br />
FROM EMP_RESUME <br />
<br />
WHERE RESUME_FORMAT = 'ascii' <br />
<br />
45. UDF</p>
<p>要运行 DB2 Java 存储过程或 UDF，还需要更新服务器上的 DB2 数据库管理程序配置，以包括在该机器上安装 JDK 的路径 </p>
<p>db2 update dbm cfg using JDK11_PATH d:sqllibjavajdk <br />
<br />
TERMINATE <br />
<br />
update dbm cfg using SPM_NAME sample </p>
<p>46. 检查 DB2 数据库管理程序配置 </p>
<p>db2 get dbm cfg </p>
<p>47. 检索具有特权的所有授权名 </p>
<p>SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH <br />
<br />
UNION <br />
<br />
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH <br />
<br />
UNION <br />
<br />
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH <br />
<br />
UNION <br />
<br />
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH <br />
<br />
UNION <br />
<br />
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH <br />
<br />
UNION <br />
<br />
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH <br />
<br />
UNION <br />
<br />
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH <br />
<br />
ORDER BY GRANTEE, GRANTEETYPE, 3 </p>
<p>create table yhdab <br />
<br />
(id varchar(10), <br />
<br />
password varchar(10), <br />
<br />
ywlx varchar(10), <br />
<br />
kh varchar(10)); <br />
<br />
create table ywlbb <br />
<br />
(ywlbbh varchar(8), <br />
<br />
ywmc varchar(60)) </p>
<p>48. 修改表结构 </p>
<p>alter table yhdab ALTER kh SET DATA TYPE varchar(13); <br />
<br />
alter table yhdab ALTER ID SET DATA TYPE varchar(13); <br />
<br />
alter table lst_bsi alter bsi_money set data type int; <br />
<br />
insert into yhdab values <br />
<br />
('20000300001','123456','user01','20000300001'), <br />
<br />
('20000300002','123456','user02','20000300002'); </p>
<p>49. 业务型说明 </p>
<p>insert into ywlbb values <br />
<br />
('user01','业务申请'), <br />
<br />
('user02','业务撤消'), <br />
<br />
('user03','费用查询'), <br />
<br />
('user04','费用自缴'), <br />
<br />
('user05','费用预存'), <br />
<br />
('user06','密码修改'), <br />
<br />
('user07','发票打印'), <br />
<br />
('gl01','改用户基本信息'), <br />
<br />
('gl02','更改支付信息'), <br />
<br />
('gl03','日统计功能), <br />
<br />
('gl04','冲帐功能'), <br />
<br />
('gl05','对帐功能'), <br />
<br />
('gl06','计费功能'), <br />
<br />
('gl07','综合统计') </p>
<img src ="http://www.blogjava.net/cyanbomb/aggbug/171081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cyanbomb/" target="_blank">cyanbomb</a> 2007-12-28 10:04 <a href="http://www.blogjava.net/cyanbomb/archive/2007/12/28/171081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查找数据库中表及表结构</title><link>http://www.blogjava.net/cyanbomb/archive/2007/12/27/170932.html</link><dc:creator>cyanbomb</dc:creator><author>cyanbomb</author><pubDate>Thu, 27 Dec 2007 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/cyanbomb/archive/2007/12/27/170932.html</guid><wfw:comment>http://www.blogjava.net/cyanbomb/comments/170932.html</wfw:comment><comments>http://www.blogjava.net/cyanbomb/archive/2007/12/27/170932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cyanbomb/comments/commentRss/170932.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cyanbomb/services/trackbacks/170932.html</trackback:ping><description><![CDATA[<font size="4">-- sqlserver<br />
查询一个数据库中的所有表<br />
select [id], [name] from [sysobjects] where [type] = &#8217;u&#8217;<br />
[type] = &#8217;u&#8217; 是用户表，[type] = &#8217;s&#8217;是系统表<br />
根据上个语句的查询结果然后再查询一个表中的所有字段<br />
select [name] from [syscolumns] where [id] = 1637580872</font>
<img src ="http://www.blogjava.net/cyanbomb/aggbug/170932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cyanbomb/" target="_blank">cyanbomb</a> 2007-12-27 16:50 <a href="http://www.blogjava.net/cyanbomb/archive/2007/12/27/170932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL语法大全</title><link>http://www.blogjava.net/cyanbomb/archive/2007/12/27/170922.html</link><dc:creator>cyanbomb</dc:creator><author>cyanbomb</author><pubDate>Thu, 27 Dec 2007 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/cyanbomb/archive/2007/12/27/170922.html</guid><wfw:comment>http://www.blogjava.net/cyanbomb/comments/170922.html</wfw:comment><comments>http://www.blogjava.net/cyanbomb/archive/2007/12/27/170922.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cyanbomb/comments/commentRss/170922.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cyanbomb/services/trackbacks/170922.html</trackback:ping><description><![CDATA[<font size="4">--数据操作<br />
SELECT --从数据库表中检索数据行和列<br />
INSERT  --向数据库表添加新数据行<br />
DELETE --从数据库表中删除数据行<br />
UPDATE --更新数据库表中的数据<br />
--数据定义<br />
CREATE  TABLE --创建一个数据库表<br />
DROP TABLE --从数据库中删除表<br />
ALTER TABLE --修改数据库表结构<br />
CREATE  VIEW --创建一个视图<br />
DROP VIEW --从数据库中删除视图<br />
CREATE INDEX --为数据库表创建一个索引<br />
DROP  INDEX --从数据库中删除索引<br />
CREATE PROCEDURE --创建一个存储过程<br />
DROP PROCEDURE  --从数据库中删除存储过程<br />
CREATE TRIGGER --创建一个触发器<br />
DROP TRIGGER --从数据库中删除触发器<br />
CREATE  SCHEMA --向数据库添加一个新模式<br />
DROP SCHEMA --从数据库中删除一个模式<br />
CREATE DOMAIN  --创建一个数据值域<br />
ALTER DOMAIN --改变域定义<br />
DROP DOMAIN  --从数据库中删除一个域<br />
--数据控制<br />
GRANT --授予用户访问权限<br />
DENY --拒绝用户访问<br />
REVOKE  --解除用户访问权限<br />
--事务控制<br />
COMMIT --结束当前事务<br />
ROLLBACK --中止当前事务<br />
SET TRANSACTION  --定义当前事务数据访问特征<br />
--程序化SQL<br />
DECLARE --为查询设定游标<br />
EXPLAN --为查询描述数据访问计划<br />
OPEN  --检索查询结果打开一个游标<br />
FETCH --检索一行查询结果<br />
CLOSE --关闭游标<br />
PREPARE --为动态执行准备SQL  语句<br />
EXECUTE --动态地执行SQL 语句<br />
DESCRIBE --描述准备好的查询 <br />
---局部变量<br />
declare @id  char(10)<br />
--set @id = &#8217;10010001&#8217;<br />
select @id = &#8217;10010001&#8217;  <br />
<br />
---全局变量<br />
---必须以@@开头<br />
<br />
--IF ELSE<br />
declare @x int @y int  @z int<br />
select @x = 1 @y = 2 @z=3<br />
if @x &gt; @y<br />
print &#8217;x &gt; y&#8217;  --打印字符串&#8217;x &gt; y&#8217;<br />
else if @y &gt; @z<br />
print &#8217;y &gt; z&#8217;<br />
else print &#8217;z  &gt; y&#8217;<br />
<br />
--CASE<br />
use pangu<br />
update employee<br />
set e_wage  =<br />
case<br />
when job_level = &#8217;1&#8217; then e_wage*1.08<br />
when job_level = &#8217;2&#8217; then  e_wage*1.07<br />
when job_level = &#8217;3&#8217; then e_wage*1.06<br />
else  e_wage*1.05<br />
end<br />
<br />
--WHILE CONTINUE BREAK<br />
declare @x int @y  int @c int<br />
select @x = 1 @y=1<br />
while @x &lt; 3<br />
begin<br />
print @x --打印变量x  的值<br />
while @y &lt; 3<br />
begin<br />
select @c = 100*@x + @y<br />
print @c --打印变量c  的值<br />
select @y = @y + 1<br />
end<br />
select @x = @x + 1<br />
select @y =  1<br />
end<br />
<br />
--WAITFOR<br />
--例 等待1 小时2 分零3 秒后才执行SELECT 语句<br />
waitfor  delay &#8217;01:02:03&#8217;<br />
select * from employee<br />
--例 等到晚上11 点零8 分后才执行SELECT  语句<br />
waitfor time &#8217;23:08:00&#8217;<br />
select * from  employee<br />
<br />
***SELECT***<br />
<br />
select *(列名) from  table_name(表名) where column_name operator value<br />
ex:(宿主)<br />
select * from  stock_information where stockid = str(nid)<br />
stockname = &#8217;str_name&#8217;  <br />
stockname like &#8217;% find this %&#8217; <br />
stockname like &#8217;[a-zA-Z]%&#8217; ---------  ([]指定值的范围)<br />
stockname like &#8217;[^F-M]%&#8217; --------- (^排除指定范围)<br />
---------  只能在使用like关键字的where子句中使用通配符)<br />
or stockpath = &#8217;stock_path&#8217;<br />
or stocknumber  &lt; 1000<br />
and stockindex = 24<br />
not stock*** = &#8217;man&#8217;<br />
stocknumber between  20 and 100<br />
stocknumber in(10,20,30)<br />
order by stockid desc(asc) ---------  排序，desc-降序，asc-升序<br />
order by 1,2 --------- by列号<br />
stockname = (select  stockname from stock_information where stockid = 4)<br />
---------  子查询<br />
--------- 除非能确保内层select只返回一个行的值，<br />
---------  否则应在外层where子句中用一个in限定符<br />
select distinct column_name form table_name ---------  distinct指定检索独有的列值，不重复<br />
select stocknumber ,"stocknumber + 10" = stocknumber +  10 from table_name<br />
select stockname , "stocknumber" = count(*) from  table_name group by stockname<br />
--------- group by 将表按行分组,指定列中有相同的值<br />
having  count(*) = 2 --------- having选定指定的组<br />
<br />
select * <br />
from table1,  table2 <br />
where table1.id *= table2.id --------  左外部连接，table1中有的而table2中没有得以null表示<br />
table1.id =* table2.id -------- 右外部连接  <br />
<br />
select stockname from table1<br />
union [all] -----  union合并查询结果集，all-保留重复行<br />
select stockname from  table2<br />
<br />
***insert***<br />
<br />
insert into table_name  (Stock_name,Stock_number) value ("xxx","xxxx")<br />
value (select Stockname ,  Stocknumber from  Stock_table2)---value为select语句<br />
<br />
***update***<br />
<br />
update  table_name set Stockname = "xxx" [where Stockid = 3]<br />
Stockname =  default<br />
Stockname = null<br />
Stocknumber = Stockname +  4<br />
<br />
***delete***<br />
<br />
delete from table_name where  Stockid = 3<br />
truncate table_name ----------- 删除表中所有行，仍保持表的完整性<br />
drop table  table_name --------------- 完全删除表<br />
<br />
***alter table*** ---  修改数据库表结构<br />
<br />
alter table database.owner.table_name add column_name  char(2) null .....<br />
sp_help table_name ---- 显示表已有特征<br />
create table table_name  (name char(20), age smallint, lname varchar(30))<br />
insert into table_name  select ......... ----- 实现删除列的方法（创建新表）<br />
alter table table_name drop constraint  Stockname_default ----  删除Stockname的default约束<br />
<br />
***function(/*常用函数*/)***<br />
<br />
----统计函数----<br />
AVG  --求平均值<br />
COUNT --统计数目<br />
MAX --求最大值<br />
MIN --求最小值<br />
SUM  --求和<br />
<br />
--AVG<br />
use pangu<br />
select avg(e_wage) as  dept_avgWage<br />
from employee<br />
group by  dept_id<br />
<br />
--MAX<br />
--求工资最高的员工姓名<br />
use pangu<br />
select  e_name<br />
from employee<br />
where e_wage =<br />
(select max(e_wage)<br />
from  employee)<br />
<br />
--STDEV()<br />
--STDEV()函数返回表达式中所有数据的标准差<br />
<br />
--STDEVP()<br />
--STDEVP()函数返回总体标准差<br />
<br />
--VAR()<br />
--VAR()函数返回表达式中所有值的统计变异数<br />
<br />
--VARP()<br />
--VARP()函数返回总体变异数<br />
<br />
----算术函数----<br />
<br />
/***三角函数***/<br />
SIN(float_expression)  --返回以弧度表示的角的正弦<br />
COS(float_expression) --返回以弧度表示的角的余弦<br />
TAN(float_expression)  --返回以弧度表示的角的正切<br />
COT(float_expression)  --返回以弧度表示的角的余切<br />
/***反三角函数***/<br />
ASIN(float_expression) --返回正弦是FLOAT  值的以弧度表示的角<br />
ACOS(float_expression) --返回余弦是FLOAT  值的以弧度表示的角<br />
ATAN(float_expression) --返回正切是FLOAT  值的以弧度表示的角<br />
ATAN2(float_expression1,float_expression2)  <br />
--返回正切是float_expression1  /float_expres-sion2的以弧度表示的角<br />
DEGREES(numeric_expression)<br />
--把弧度转换为角度返回与表达式相同的数据类型可为<br />
--INTEGER/MONEY/REAL/FLOAT  类型<br />
RADIANS(numeric_expression)  --把角度转换为弧度返回与表达式相同的数据类型可为<br />
--INTEGER/MONEY/REAL/FLOAT  类型<br />
EXP(float_expression) --返回表达式的指数值<br />
LOG(float_expression)  --返回表达式的自然对数值<br />
LOG10(float_expression)--返回表达式的以10  为底的对数值<br />
SQRT(float_expression)  --返回表达式的平方根<br />
/***取近似值函数***/<br />
CEILING(numeric_expression)  --返回&gt;=表达式的最小整数返回的数据类型与表达式相同可为<br />
--INTEGER/MONEY/REAL/FLOAT  类型<br />
FLOOR(numeric_expression)  --返回&lt;=表达式的最小整数返回的数据类型与表达式相同可为<br />
--INTEGER/MONEY/REAL/FLOAT  类型<br />
ROUND(numeric_expression) --返回以integer_expression  为精度的四舍五入值返回的数据<br />
--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT  类型<br />
ABS(numeric_expression)  --返回表达式的绝对值返回的数据类型与表达式相同可为<br />
--INTEGER/MONEY/REAL/FLOAT  类型<br />
SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1  负数返回的数据类型<br />
--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型<br />
PI() --返回值为&#960;  即3.1415926535897936<br />
RAND([integer_expression])  --用任选的[integer_expression]做种子值得出0-1  间的随机浮点数<br />
<br />
----字符串函数----<br />
ASCII() --函数返回字符表达式最左端字符的ASCII  码值<br />
CHAR() --函数用于将ASCII 码转换为字符<br />
--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL  值<br />
LOWER() --函数把字符串全部转换为小写<br />
UPPER() --函数把字符串全部转换为大写<br />
STR()  --函数把数值型数据转换为字符型数据<br />
LTRIM() --函数把字符串头部的空格去掉<br />
RTRIM()  --函数把字符串尾部的空格去掉<br />
LEFT(),RIGHT(),SUBSTRING()  --函数返回部分字符串<br />
CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置<br />
SOUNDEX()  --函数返回一个四位字符码 <br />
--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值  <br />
DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异<br />
--0 两个SOUNDEX  函数返回值的第一个字符不同<br />
--1 两个SOUNDEX 函数返回值的第一个字符相同<br />
--2 两个SOUNDEX  函数返回值的第一二个字符相同<br />
--3 两个SOUNDEX 函数返回值的第一二三个字符相同<br />
--4 两个SOUNDEX  函数返回值完全相同<br />
<br />
QUOTENAME() --函数返回被特定字符括起来的字符串<br />
/*select  quotename(&#8217;abc&#8217;, &#8217;{&#8217;)  quotename(&#8217;abc&#8217;)<br />
运行结果如下<br />
----------------------------------{<br />
{abc}  [abc]*/<br />
<br />
REPLICATE() --函数返回一个重复character_expression  指定次数的字符串<br />
/*select replicate(&#8217;abc&#8217;, 3) replicate( &#8217;abc&#8217;,  -2)<br />
运行结果如下<br />
----------- -----------<br />
abcabcabc  NULL*/<br />
<br />
REVERSE() --函数将指定的字符串的字符排列顺序颠倒<br />
REPLACE()  --函数返回被替换了指定子串的字符串<br />
/*select replace(&#8217;abc123g&#8217;, &#8217;123&#8217;,  &#8217;def&#8217;)<br />
运行结果如下<br />
----------- -----------<br />
abcdefg*/<br />
<br />
SPACE()  --函数返回一个有指定长度的空白字符串<br />
STUFF()  --函数用另一子串替换字符串指定位置长度的子串<br />
<br />
----数据类型转换函数----<br />
CAST()  函数语法如下<br />
CAST() (&lt;expression&gt; AS &lt;data_ type&gt;[ length  ])<br />
CONVERT() 函数语法如下<br />
CONVERT() (&lt;data_ type&gt;[ length ],  &lt;expression&gt; [, style])<br />
<br />
select cast(100+99 as char)  convert(varchar(12), getdate())<br />
运行结果如下<br />
------------------------------  ------------<br />
199 Jan 15 2000<br />
<br />
----日期函数----<br />
DAY()  --函数返回date_expression 中的日期值<br />
MONTH() --函数返回date_expression 中的月份值<br />
YEAR()  --函数返回date_expression 中的年份值<br />
DATEADD(&lt;datepart&gt; ,&lt;number&gt;  ,&lt;date&gt;) <br />
--函数返回指定日期date 加上指定的额外日期间隔number  产生的新日期<br />
DATEDIFF(&lt;datepart&gt; ,&lt;number&gt;  ,&lt;date&gt;)<br />
--函数返回两个指定日期在datepart 方面的不同之处<br />
DATENAME(&lt;datepart&gt; ,  &lt;date&gt;) --函数以字符串的形式返回日期的指定部分<br />
DATEPART(&lt;datepart&gt; , &lt;date&gt;)  --函数以整数值的形式返回日期的指定部分<br />
GETDATE() --函数以DATETIME  的缺省格式返回系统当前的日期和时间<br />
<br />
----系统函数----<br />
APP_NAME()  --函数返回当前执行的应用程序的名称<br />
COALESCE() --函数返回众多表达式中第一个非NULL  表达式的值<br />
COL_LENGTH(&lt;&#8217;table_name&#8217;&gt;, &lt;&#8217;column_name&#8217;&gt;)  --函数返回表中指定字段的长度值<br />
COL_NAME(&lt;table_id&gt;, &lt;column_id&gt;)  --函数返回表中指定字段的名称即列名<br />
DATALENGTH()  --函数返回数据表达式的数据的实际长度<br />
DB_ID([&#8217;database_name&#8217;])  --函数返回数据库的编号<br />
DB_NAME(database_id) --函数返回数据库的名称<br />
HOST_ID()  --函数返回服务器端计算机的名称<br />
HOST_NAME() --函数返回服务器端计算机的名称<br />
IDENTITY(&lt;data_type&gt;[,  seed increment]) [AS column_name])<br />
--IDENTITY() 函数只在SELECT INTO  语句中使用用于插入一个identity column列到新表中<br />
/*select identity(int, 1, 1) as  column_name<br />
into newtable<br />
from oldtable*/<br />
ISDATE()  --函数判断所给定的表达式是否为合理日期<br />
ISNULL(&lt;check_expression&gt;,  &lt;replacement_value&gt;) --函数将表达式中的NULL 值用指定值替换<br />
ISNUMERIC()  --函数判断所给定的表达式是否为合理的数值<br />
NEWID() --函数返回一个UNIQUEIDENTIFIER  类型的数值<br />
NULLIF(&lt;expression1&gt;, &lt;expression2&gt;)<br />
--NULLIF  函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1  的值<br />
<br />
sql中的保留字<br />
<br />
action add aggregate  all <br />
alter after and as <br />
asc avg avg_row_length auto_increment <br />
between  bigint bit binary <br />
blob bool both by <br />
cascade case char character  <br />
change check checksum column <br />
columns comment constraint create <br />
cross  current_date current_time current_timestamp <br />
data database databases date  <br />
datetime day day_hour day_minute <br />
day_second dayofmonth dayofweek  dayofyear <br />
dec decimal default delayed <br />
delay_key_write delete desc  describe <br />
distinct distinctrow double drop <br />
end else escape escaped  <br />
enclosed enum explain exists <br />
fields file first float <br />
float4 float8  flush foreign <br />
from for full function <br />
global grant grants group  <br />
having heap high_priority hour <br />
hour_minute hour_second hosts identified  <br />
ignore in index infile <br />
inner insert insert_id int <br />
integer interval  int1 int2 <br />
int3 int4 int8 into <br />
if is isam join <br />
key keys kill  last_insert_id <br />
leading left length like <br />
lines limit load local <br />
lock  logs long longblob <br />
longtext low_priority max max_rows <br />
match mediumblob  mediumtext mediumint <br />
middleint min_rows minute minute_second <br />
modify  month monthname myisam <br />
natural numeric no not <br />
null on optimize option  <br />
optionally or order outer <br />
outfile pack_keys partial password  <br />
precision primary procedure process <br />
processlist privileges read real  <br />
references reload regexp rename <br />
replace restrict returns revoke  <br />
rlike row rows second <br />
select set show shutdown <br />
smallint soname  sql_big_tables sql_big_selects <br />
sql_low_priority_updates sql_log_off  sql_log_update sql_select_limit <br />
sql_small_result sql_big_result sql_warnings  straight_join <br />
starting status string table <br />
tables temporary terminated  text <br />
then time timestamp tinyblob <br />
tinytext tinyint trailing to <br />
type  use using unique <br />
unlock unsigned update usage <br />
values varchar variables  varying <br />
varbinary with write when <br />
where year year_month zerofill</font>
<img src ="http://www.blogjava.net/cyanbomb/aggbug/170922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cyanbomb/" target="_blank">cyanbomb</a> 2007-12-27 16:39 <a href="http://www.blogjava.net/cyanbomb/archive/2007/12/27/170922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>