您的位置:首页 > 数据库

Sql常用函数语句

2008-02-26 14:45 429 查看
--数据操作

2

3   SELECT --从数据库表中检索数据行和列

4      INSERT --向数据库表添加新数据行

5      DELETE --从数据库表中删除数据行

6      UPDATE --更新数据库表中的数据

7

8  --数据定义

9

10   CREATE TABLE --创建一个数据库表

11      DROP TABLE --从数据库中删除表

12      ALTER TABLE --修改数据库表结构

13      CREATE VIEW --创建一个视图

14      DROP VIEW --从数据库中删除视图

15      CREATE INDEX --为数据库表创建一个索引

16      DROP INDEX --从数据库中删除索引

17      CREATE PROCEDURE --创建一个存储过程

18      DROP PROCEDURE --从数据库中删除存储过程

19      CREATE TRIGGER --创建一个触发器

20      DROP TRIGGER --从数据库中删除触发器

21      CREATE SCHEMA --向数据库添加一个新模式

22      DROP SCHEMA --从数据库中删除一个模式

23      CREATE DOMAIN --创建一个数据值域

24      ALTER DOMAIN --改变域定义

25      DROP DOMAIN --从数据库中删除一个域

26

27  --数据控制

28

29   GRANT --授予用户访问权限

30      DENY --拒绝用户访问

31      REVOKE --解除用户访问权限

32

33  --事务控制

34

35   COMMIT --结束当前事务

36      ROLLBACK --中止当前事务

37      SET TRANSACTION --定义当前事务数据访问特征

38

39  --程序化SQL

40

41   DECLARE --为查询设定游标

42      EXPLAN --为查询描述数据访问计划

43      OPEN --检索查询结果打开一个游标

44      FETCH --检索一行查询结果

45      CLOSE --关闭游标

46      PREPARE --为动态执行准备SQL 语句

47      EXECUTE --动态地执行SQL 语句

48      DESCRIBE --描述准备好的查询  

49

50  ---局部变量

51   declare @id varchar(10)

52      --set @id = 'sp'

53      select @id = 'sp'  

54

55  ---全局变量

56  ---必须以@@开头  

57  --IF ELSE

58  declare @x int @y int @z int

59      select @x = 1 @y = 2 @z=3

60      if @x > @y

61       print 'x > y' --打印字符串'x > y'

62      else if @y > @z

63       print 'y > z'

64      else print 'z > y'

65      --CASE

66      use pubs

67      update employee

68      set e_wage =

69       case

70       when job_level = ’1’ then e_wage*1.08

71       when job_level = ’2’ then e_wage*1.07

72       when job_level = ’3’ then e_wage*1.06

73       else e_wage*1.05

74       end

75      --WHILE CONTINUE BREAK

76      declare @x int @y int @c int

77      select @x = 1 @y=1

78      while @x < 3

79       begin

80       print @x --打印变量x 的值

81       while @y < 3

82       begin

83       select @c = 100*@x + @y

84       print @c --打印变量c 的值

85       select @y = @y + 1

86       end

87       select @x = @x + 1

88       select @y = 1

89       end

90      --WAITFOR

91

92  --例 等待1 小时2 分零3 秒后才执行SELECT 语句

93

94  waitfor delay ’01:02:03’

95      select * from employee

96

97    --例 等到晚上11 点零8 分后才执行SELECT 语句

98

99    waitfor time ’23:08:00’

100

101

102SELECT  

103

104   select *(列名) from table_name(表名) where column_name operator value ex宿主)

105     select * from stock_information where stockid = str(nid)

106     stockname = 'str_name'

107     stockname like '% find that %'

108     stockname like '[a-zA-Z]%' --------- ([]指定值的范围)

109     stockname like '[^F-M]%' --------- (^排除指定范围)

110     --------- 只能在使用like关键字的where子句中使用通配符)

111     or stockpath = 'path'

112     or stocknumber < 1000

113     and stockindex = 24

114     not stocksex = 'man'

115     stocknumber between 20 and 100

116     stocknumber in(10,20,30)

117     order by stockid desc(asc) --------- 排序,desc-降序,asc-升序

118     order by 1,2 --------- by列号

119     stockname = (select stockname from stock_information where stockid = 4)

120     --------- 子查询

121     --------- 除非能确保内层select只返回一个行的值

122     --------- 否则应在外层where子句中用一个in限定符

123     select distinct column_name form table_name

124   --------- distinct指定检索独有的列值,不重复

125     select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name

126     select stockname , "stocknumber" = count(*) from table_name group by stockname

127     --------- group by 将表按行分组,指定列中有相同的值

128     having count(*) = 2 --------- having选定指定的组

129

130   select *

131     from table1, table2

132where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示

133     table1.id =* table2.id -------- 右外部连接

134     select stockname from table1

135     union [all] -------- union合并查询结果集,all-保留重复行

136     select stockname from table2 

137

138   insert 

139

140   insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"

141   value (select Stockname , Stocknumber from Stock_table2)

142   -------value为select语句  

143

144   update  

145

146   update table_name set Stockname = "xxx" [where Stockid = 3]

147   Stockname = default

148   Stockname = null

149   Stocknumber = Stockname + 4  

150

151   delete  

152

153   delete from table_name where Stockid = 3

154   truncate table 表名 --------- 删除表中所有行,仍保持表的完整性

155   drop table table_name --------- 完全删除表 

156

157   alter table -------- 修改数据库表结构  

158

159   alter table database.owner.table_name add column_name char(2) null ..

160   sp_help 表名 -------- 显示表已有特征

161   create table table_name (name char(20), age smallint, lname varchar(30))

162   insert into table_name select -------- 实现删除列的方法(创建新表)

163   alter table table_name drop constraint Stockname_default

164   --------- 删除Stockname的default约束

165

166

167常用函数(function)  

168转换函数

169convert(数据类型,值,格式)

170

171  统计函数

172

173  AVG --求平均值

174  COUNT --统计数目

175  MAX --求最大值

176  MIN --求最小值

177  SUM --求和 

178  STDEV()

179

180  --STDEV()函数返回表达式中所有数据的标准差

181  --STDEVP()

182  --STDEVP()函数返回总体标准差  

183

184  VAR()

185

186  --VAR()函数返回表达式中所有值的统计变异数  

187

188  VARP()

189

190  --VARP()函数返回总体变异数  

191

192  算术函数  

193

194  三角函数

195

196  SIN(float_expression) --返回以弧度表示的角的正弦

197  COS(float_expression) --返回以弧度表示的角的余弦

198  TAN(float_expression) --返回以弧度表示的角的正切

199  COT(float_expression) --返回以弧度表示的角的余切

200

201  反三角函数

202

203  ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角

204  ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角

205  ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角

206  ATAN2(float_expression1,float_expression2)

207   ------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角

208  DEGREES(numeric_expression)

209   ------把弧度转换为角度返回与表达式相同的数据类型可为

210   ------INTEGER/MONEY/REAL/FLOAT 类型

211  RADIANS(numeric_expression)

212------把角度转换为弧度返回与表达式相同的数据类型可为

213

214   ------INTEGER/MONEY/REAL/FLOAT 类型

215  EXP(float_expression) --返回表达式的指数值

216  LOG(float_expression) --返回表达式的自然对数值

217  LOG10(float_expression)--返回表达式的以10 为底的对数值

218  SQRT(float_expression) --返回表达式的平方根

219

220  取近似值函数

221

222  CEILING(numeric_expression)

223-------返回>=表达式的最大整数返回的数据类型与表达式相同可为

224   -------INTEGER/MONEY/REAL/FLOAT 类型

225  FLOOR(numeric_expression)

226-------返回<=表达式的最小整数返回的数据类型与表达式相同可为

227   -------INTEGER/MONEY/REAL/FLOAT 类型

228  ROUND(numeric_expression)

229-------返回以integer_expression 为精度的四舍五入值返回的数据

230   -------类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

231  ABS(numeric_expression)

232-------返回表达式的绝对值返回的数据类型与表达式相同可为

233   -------INTEGER/MONEY/REAL/FLOAT 类型

234  SIGN(numeric_expression)

235-------测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型

236   -------与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

237  PI() -------返回值为π 即3.1415926535897936

238  RAND([integer_expression])

239-------用任选的[integer_expression]做种子值得出0-1 间的随机浮点数

240字符串函数

241

242  ASCII() ------函数返回字符表达式最左端字符的ASCII 码值

243  CHAR() ------函数用于将ASCII 码转换为字符

244   ------如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值

245  LOWER() ------函数把字符串全部转换为小写

246  UPPER() ------函数把字符串全部转换为大写

247  STR() ------函数把数值型数据转换为字符型数据

248  LTRIM() ------函数把字符串头部的空格去掉

249  RTRIM() ------函数把字符串尾部的空格去掉

250  LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串

251  CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置

252  SOUNDEX() ------函数返回一个四位字符码

253   ------SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值

254  DIFFERENCE() ------函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异

255   ------0 两个SOUNDEX 函数返回值的第一个字符不同

256   ------1 两个SOUNDEX 函数返回值的第一个字符相同

257   ------2 两个SOUNDEX 函数返回值的第一二个字符相同

258   ------3 两个SOUNDEX 函数返回值的第一二三个字符相同

259   ------4 两个SOUNDEX 函数返回值完全相同同

260  QUOTENAME() ------函数返回被特定字符括起来的字符串

261

262  REPLICATE() ------函数返回一个重复character_expression 指定次数的字符串

268  REVERSE() ------函数将指定的字符串的字符排列顺序颠倒

274  REPLACE() ------函数返回被替换了指定子串的字符串

275

281  SPACE() ------函数返回一个有指定长度的空白字符串

282  STUFF() ------函数用另一子串替换字符串指定位置长度的子串  

283

284  数据类型转换函数

285

286  CAST() 函数语法如下

287  CAST() ( AS [ length ])

288  CONVERT() 函数语法如下

289  CONVERT() ([ length ], [, style])

290  select cast(100+99 as char) convert(varchar(12), getdate())

291

292  运行结果如下

293  199 Jan 15 2000 

294

295  日期函数

296

297  DAY() ------函数返回date_expression 中的日期值

298  MONTH() ------函数返回date_expression 中的月份值

299  YEAR() ------函数返回date_expression 中的年份值

300  DATEADD( , ,)

301   -----函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期

302  DATEDIFF( , ,)

303   -----函数返回两个指定日期在datepart 方面的不同之处

304

305  DATENAME( , ------函数以字符串的形式返回日期的指定部分

306  DATEPART( , ------函数以整数值的形式返回日期的指定部分

307  GETDATE() ------函数以DATETIME 的缺省格式返回系统当前的日期和时间  

308

309  系统函数

310

311  APP_NAME() ------函数返回当前执行的应用程序的名称

312  COALESCE() -----函数返回众多表达式中第一个非NULL 表达式的值

313  COL_LENGTH(<'table_name'>, <'column_name'> ----函数返回表中指定字段的长度值

314  COL_NAME(, ----函数返回表中指定字段的名称即列名

315  DATALENGTH() -----函数返回数据表达式的数据的实际长度

316  DB_ID(['database_name']) ------函数返回数据库的编号

317  DB_NAME(database_id) ------函数返回数据库的名称

318  HOST_ID() -----函数返回服务器端计算机的名称

319  HOST_NAME() -----函数返回服务器端计算机的名称

320  IDENTITY([, seed increment]) [AS column_name])

321   --IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中

322

326  ISDATE() ----函数判断所给定的表达式是否为合理日期

327  ISNULL(, --函数将表达式中的NULL 值用指定值替换

328  ISNUMERIC() ----函数判断所给定的表达式是否为合理的数值

329  NEWID() ----函数返回一个UNIQUEIDENTIFIER 类型的数值

330  NULLIF(,

331   ----NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值

332
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: