Sql常用函数语句

  1      -- 数据操作 
  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
102 SELECT    
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 
132 where  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 转换函数
169 convert (数据类型,值,格式)
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    /**/ /*select quotename('abc', '{') quotename('abc') 
263  运行结果如下 
264
265  { 
266  {abc} [abc]*/
 
267    REPLICATE ()  -- ----函数返回一个重复character_expression 指定次数的字符串 
268    /**/ /*select replicate('abc', 3) replicate( 'abc', -2) 
269
270  运行结果如下 
271
272  abcabcabc NULL*/
 
273    REVERSE ()  -- ----函数将指定的字符串的字符排列顺序颠倒 
274    REPLACE ()  -- ----函数返回被替换了指定子串的字符串 
275    /**/ /*select replace('abc123g', '123', 'def') 
276
277  运行结果如下 
278   
279  abcdefg*/
   
280
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    /**/ /*select identity(int, 1, 1) as column_name 
323   into newtable 
324   from oldtable*/
 
325
326    ISDATE ()  -- --函数判断所给定的表达式是否为合理日期 
327    ISNULL (,  -- 函数将表达式中的NULL 值用指定值替换 
328    ISNUMERIC ()  -- --函数判断所给定的表达式是否为合理的数值 
329    NEWID ()  -- --函数返回一个UNIQUEIDENTIFIER 类型的数值 
330    NULLIF (, 
331     -- --NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值
332
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值