1、select sys.dbms_random.value(0,1) value from dual;13. 取符号select sign(-8) value -1select sign(-8) value from dual -1 数学函数14. 圆周率Select PI() value 3.1415926535897931不知道15. sin,cos,tan 参数都以弧度为单位 例如: select sin(PI()/2) value 得到 1(SQLServer)16. Asin,Acos,Atan,Atan2 返回弧度17. 弧度角度互换 (SQLServer,Oracle 不知道 )D
2、EGREES :弧度-角度RADIANS :角度 -弧度 数值间比较18. 求集合最大值 S:select max(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)aselect greatest(1,-2,4,3) value from dual19. 求集合最小值 S:select min(value) value from (select 1 valueunionselect -2 value union select 4 value uni
3、on select 3 value)aselect least(1,-2,4,3) value from dual20. 如何处理null值(F2中的null以10代替)select F1,IsNull(F2,10) value from Tbl O:select F1,nvl(F2,10) value from Tbl 数值间比较21. 求字符序号 S:select ascii(a) value) value from dual22. 从序号求字符 S:select char(97) valueselect chr(97) value from dual23. 连接select 11+223
4、3 valueselect CONCAT(,)|33 value from dual23子串位置-返回3select CHARINDEX(ssdsq,2) valueselect INSTR(,2) value from dual23模糊子串的位置-返回2,参数去掉中间%则 返回7select pati ndex(%d%q%sdsfasdqeoracle没发现,但是in str可以通过第四霾问 證 刂瞥鱿执问?BR select INSTR(sd,1,2)value from dual 返回 624. 求子串select substri ng(abcd,2,2) valueselect sub
5、str(,2,2) value from dual25子串代替返回aijklmnefSelect STUFF(abcdef, 2, 3, ijklmnSelect Replace(, bedijkl mn) value fromdual26. 子串全部替换没发现select Translate(fasdbfasegasfa我)value from dual27. 长度len,datalengthlength28. 大小写转换 lower,upper29. 单词首字母大写s:select INITCAP(abcd dsaf df30. 左补空格( LPAD 的第一个参数为空格则同 space函
6、数)select space(10)+select LPAD(,14) value from dual31. 右补空格( RPAD 的第一个参数为空格则同 space函 数)+space(10) valueselect RPAD(32. 删除空格ltrim,rtrimltrim,rtrim,trim33. 重复字符串select REPLICATE(34. 发音相似性比较 (这两个单词返回值一样,发 音相同 )Select SOUNDEX (Smith), SOUNDEX (Smythe) from dualSQLServer 中用 Select DIFFERENCE(SmithersSmyt
7、hers) 比较 soundex 的差返回 0-4,4 为同音, 1 最高日期函数35.系统时间select getdate() valueselect sysdate value from dual36.前后几日 直接与整数相加减37.求日期select convert(char(10),getdate(),20) valueselect trunc(sysdate) value from dualselect to_char(sysdate,yyyy-mm-dd38.求时间select convert(char(8),getdate(),108) valuehh24:mm:ss)value
8、 from39.取日期时间的其他部分DATEPART 和 DATENAME 函数 (第一个参 数决定)to_char 函数 第二个参数决定 参数 下表需要补充year yy, yyyy quarter qq, q (季度 ) month mm, m (m O 无效 )dayofyear dy, y (O 表星期) day dd, d (d O 无效) week wk, ww (wk O 无效 ) weekday dw (O 不清楚)Hour hh,hh12,hh24 (hh12,hh24 S无效) minute mi, n (n O 无效) sec ond ss, s (s O无效) mill
9、isecond ms (O 无效)40. 当月最后一天select LAST_DAY(sysdate) value from dual41. 本星期的某一天(比如星期日)Select Next_day(sysdate,7) vaule FROM DUAL;42. 字符串转时间 可 以 直 接 转 或 者 select cast(2004-09-08as datetime) valueSelect To_date(2004-01-0522:09:38yyyy-mm-dd hh24-mi-ss) vaule FROM DUAL;43. 求两日期某一部分的差(比如秒)select datediff(
10、ss,getdate(),getdate()+12.3) value直接用两个日期相减(比如 d1-d2=12.3)Select (d1-d2)*24*60*60 vaule FROM DUAL;44. 根据差值求新的日期(比如分钟)select dateadd(mi,8,getdate() valueSelect sysdate+8/60/24 vaule FROM DUAL;45. 求不同时区时间Select New_time(sysdate,ydtgmt ) vauleFROM DUAL; 时区参数 ,北京在东 8 区应该是 YdtAST ADT 大西洋标准时间BST BDT 白令海标准
11、时间CST CDT 中部标准时间EST EDT 东部标准时间GMT 格林尼治标准时间HST HDT 阿拉斯加夏威夷标准时间MST MDT 山区标准时间NST 纽芬兰标准时间PST PDT 太平洋标准时间YST YDT YUKON 标准时间配置 SQL Server 数据库EXEC sp_dboption pubsread onlyTrue 此选项把数据库 “ pubs” 设置为只读。 autoshrink true 此选项把符合条件的 “pubs” 数据库文件设置为自动 周期性收缩。 single user 此命令每次只允许一个用户访问数据库。DBCC SHRINKDATABASE(PUBS,
12、 10)会减小“ pubs”数据库中文件的大小,并允许有 10%的可用空间。使用 T-SQL 创建表create table MyTable( stdID int,stdName varchar(50)自定义数据类型EXEC sp_addtype City, nvarchar(15), NULLEXEC sp_addtype PostCode, nvarchar(6)EXEC sp_addtype NCode, nvarchar(18)删除自定义数据类型EXEC sp_droptype cityCREATE TABLE Categories( CategoryID int IDENTITY(1
13、,1),NOTCategoryName nvarchar(15)NULL,Description ntext NULL,Picture image NULL)实体完整性实现l 主键约束CREATE TABLE jobs(Job_id smallint PRIMARY KEY, job_desc varchar(50) NOT NULL)l 唯一约束Job_id smallint UNIQUE)标识列Job_id smallint IDENTIRY (2,1) PRIMARY KEY)l Uniqueidentifier 数据类型和 NEWID 函数 CREATE TABLE Customer(
14、CustID uniqueidentifier NOT NULL DEFAULT NEWID(),CustName char(30) NOT NULL)INSERT Customer VALUES (NEWID(),ASBl 引用完整性实现ALTER TABLE dbo.OrdersADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (CustomerID) REFERENCES dbo.Customers(CustomerID)l 更新表结构ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) N
15、OT NULLALTER TABLE jobs ADD HIRE_DATE DATETIME ALTER TABLE Doc_ED DROP COLUMN Column_BALTER TABLE Doc_ED WITH NOCHECK ADDCONSTRAINT Exd_Check CHECK (Column_a 1)l 在已有字段中增加标识约束时,必须先删 除该字段,再新建字段。alter table mytable drop column useridalter table mytable add userid int identity(1,1)l 删除表DROP TABLE Airlin
16、es_Masterl DEFAULT 约束USE NorthwindCREATE TABLE ABC (ASD int Default 8,ASDE varchar(20) Default UNKNOWNALTER TABLE dbo.Customers ADD CONSTRAINT DF_contactname DEFAULT FOR ContactNamel CHECK 约束CREATE TABLE ABCD(ASD int CHECK(ASD 01-01-1900 AND BirthDate + type As MyTitle FROM titles3. 聚合函数SELECT produ
17、ctid ,SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid显示所有 type 的值,并按 type 分组求平均值 SELECT type, AVG(price) FROM titles WHERE royalty = 10 GROUP BY ALL type条件中带有聚合函数的,要用 Having 子句SELECT productid, SUM(quantity) AS total_quantityFROM orderhistGROUP BY productid HAVINGSUM(quantity)=304.
18、 模糊查询WHERE companyname LIKE %Restaurant%WHERE fax IS NULLWHERE country IN (JapanItalyWHERE unitprice BETWEEN 10 AND 201. 说明:复制表 (只复制结构 ,源表名: a 新表名:b)SQL: select * into b from a where 11 2.说明:拷贝表 (拷贝数据 ,源表名: a 目标表名: b) insert into b(a, b, c) select d,e,f from b;3. 说明:显示文章、提交人和最后回复时间 select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b4. 说明:外连接查询 (表名 1: