国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
sqlserver存儲過程
本文的部分內(nèi)容從網(wǎng)上查找得到的,并給出了原文地址。

        一 常用函數(shù)(function)

        1 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

        CAST ( expression AS data_type ) -- 將某種數(shù)據(jù)類型的表達(dá)式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型
        CONVERT (data_type[(length)], expression [, style])-- 將某種數(shù)據(jù)類型的表達(dá)式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型

        2 統(tǒng)計函數(shù)

        AVG -- 返回組中值的平均值??罩祵⒈缓雎浴?br>        COUNT--返回組中項(xiàng)目的數(shù)量。
        MAX--返回表達(dá)式的最大值。
        MIN--返回表達(dá)式的最小值。
        SUM--返回表達(dá)式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于數(shù)字列。空值將被忽略。

        STDEV()
  --STDEV()函數(shù)返回表達(dá)式中所有數(shù)據(jù)的標(biāo)準(zhǔn)差
  --STDEVP()
  --STDEVP()函數(shù)返回總體標(biāo)準(zhǔn)差 

  VAR()
  --VAR()函數(shù)返回表達(dá)式中所有值的統(tǒng)計變異數(shù)  

  VARP()
  --VARP()函數(shù)返回總體變異數(shù) 

        3 數(shù)學(xué)函數(shù)

        (1) 取近似值函數(shù)

        SQRT( float_expression )--返回給定表達(dá)式的平方根。
        CEILING( numeric_expression )--返回大于或等于所給數(shù)字表達(dá)式的最小整數(shù)。
        FLOOR( numeric_expression )--返回小于或等于所給數(shù)字表達(dá)式的最大整數(shù)。
        ROUND(numeric_expression , length)--返回數(shù)字表達(dá)式并四舍五入為指定的長度或精度。
        SIGN( numeric_expression )--返回給定表達(dá)式的正 (+1)、零 (0) 或負(fù) (-1) 號。
        ABS ( numeric_expression )--返回給定數(shù)字表達(dá)式的絕對值。
        PI(), 返回 PI 的常量值。
        RAND(), RAND( seed )返回 0 到1 之間的隨機(jī)float 值。  

        (2)三角函數(shù)

        SIN(float_expression)--返回以弧度表示的角的正弦
        COS(float_expression)--返回以弧度表示的角的余弦
        TAN(float_expression)--返回以弧度表示的角的正切
        COT(float_expression)--返回以弧度表示的角的余切

        (3)反三角函數(shù)

        ASIN(float_expression)--返回正弦是FLOAT值的以弧度表示的角
        ACOS(float_expression)--返回余弦是FLOAT值的以弧度表示的角
        ATAN(float_expression)--返回正切是FLOAT值的以弧度表示的角
        ATAN2(float_expression1,float_expression2)--返回正切是float_expression1/float_expres-sion2的以弧度表示的角
        DEGREES(numeric_expression)--當(dāng)給出以弧度為單位的角度時,返回相應(yīng)的以度數(shù)為單位的角度。
        RADIANS(numeric_expression)------對于在數(shù)字表達(dá)式中輸入的度數(shù)值返回弧度值。
        EXP(float_expression)--返回表達(dá)式的指數(shù)值
        LOG(float_expression)--返回表達(dá)式的自然對數(shù)值
        LOG10(float_expression)--返回表達(dá)式的以10為底的對數(shù)值
        SQRT(float_expression)--返回表達(dá)式的平方根

        4 字符串函數(shù)

        ASCII ( character_expression )--返回字符表達(dá)式最左端字符的 ASCII 代碼值。
        CHAR ( integer_expression )--將 int ASCII 代碼轉(zhuǎn)換為字符的字符串函數(shù)。
        LOWER ( character_expression )--將大寫字符數(shù)據(jù)轉(zhuǎn)換為小寫字符數(shù)據(jù)后返回字符表達(dá)式。
        UPPER ( character_expression )--返回將小寫字符數(shù)據(jù)轉(zhuǎn)換為大寫的字符表達(dá)式。
        STR ( float_expression [ , length [ , decimal ] ] ) --由數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換來的字符數(shù)據(jù)。
        LTRIM( character_expression  )--刪除起始空格后返回字符表達(dá)式。
        RTRIM ( character_expression )--截斷所有尾隨空格后返回一個字符串。
        LEFT ( character_expression , integer_expression ) --返回從字符串左邊開始指定個數(shù)的字符。
        RIGHT ( character_expression , integer_expression ) --返回字符串中從右邊開始指定個數(shù)的 integer_expression 字符。
        SUBSTRING ( expression , start , length )--截取字符串
        CHARINDEX ( expression1 , expression2 [ , start_location ] ) --返回字符串中指定表達(dá)式的起始位置,沒有返回0
        PATINDEX ( ‘%pattern%‘ , expression ) -- 返回指定表達(dá)式中某模式第一次出現(xiàn)的起始位置;如果在全部有效的文本和字符數(shù)據(jù)類型中沒有找到該模式,則返回零。
        REPLICATE ( character_expression , integer_expression )-- 以指定的次數(shù)重復(fù)字符表達(dá)式。
        REVERSE ( character_expression )-- 返回字符表達(dá)式的反轉(zhuǎn)。
        REPLACE ( ‘string_expression1‘ , ‘string_expression2‘ , ‘string_expression3‘ )--用第三個表達(dá)式替換第一個字符串表達(dá)式中出現(xiàn)的所有第二個給定字符串表達(dá)式。
        STUFF ( character_expression , start , length , character_expression )--刪除指定長度的字符并在指定的起始點(diǎn)插入另一組字符。
        SPACE ( integer_expression )-- 返回由重復(fù)的空格組成的字符串。

        5 日期函數(shù)

  DAY()--函數(shù)返回date_expression中的日期值
  MONTH()--函數(shù)返回date_expression中的月份值
  YEAR()--函數(shù)返回date_expression中的年份值
  DATEADD( datepart , number, date )--函數(shù)返回指定日期date加上指定的額外日期間隔number產(chǎn)生的新日期
  DATEDIFF( datepart , startdate , enddate )--函數(shù)返回兩個指定日期在datepart方面的不同之處
  DATENAME(datepart , date )------函數(shù)以字符串的形式返回日期的指定部分
        DATEPART( datepart , date )--函數(shù)以整數(shù)值的形式返回日期的指定部分
        GETDATE()------函數(shù)以DATETIME的缺省格式返回系統(tǒng)當(dāng)前的日期和時間  

        6 系統(tǒng)函數(shù)

        APP_NAME()------函數(shù)返回當(dāng)前執(zhí)行的應(yīng)用程序的名稱
        COALESCE()-----函數(shù)返回眾多表達(dá)式中第一個非NULL表達(dá)式的值
        COL_LENGTH ( ‘table‘ , ‘column‘ ) ----函數(shù)返回表中指定字段的長度值
        COL_NAME ( table_id , column_id )----返回數(shù)據(jù)庫列的名稱,該列具有相應(yīng)的表標(biāo)識號和列標(biāo)識號。
        DATALENGTH()-----函數(shù)返回數(shù)據(jù)表達(dá)式的數(shù)據(jù)的實(shí)際長度
        DB_ID ( [ ‘database_name‘ ] ) ------函數(shù)返回數(shù)據(jù)庫的編號
        DB_NAME(database_id)------函數(shù)返回數(shù)據(jù)庫的名稱
        HOST_ID()-----函數(shù)返回服務(wù)器端計算機(jī)的名稱
        HOST_NAME()-----函數(shù)返回服務(wù)器端計算機(jī)的名稱
        IDENTITY ( data_type [ , seed , increment ] ) AS column_name --IDENTITY()函數(shù)只在SELECTINTO語句中使用用于插入一個identitycolumn列到新表中
        ISDATE()----函數(shù)判斷所給定的表達(dá)式是否為合理日期
        ISNULL ( check_expression , replacement_value ) --函數(shù)將表達(dá)式中的NULL值用指定值替換
        ISNUMERIC()----函數(shù)判斷所給定的表達(dá)式是否為合理的數(shù)值
        NEWID()----函數(shù)返回一個UNIQUEIDENTIFIER類型的數(shù)值
        NULLIF ( expression , expression )--NULLIF函數(shù)在expression1與expression2相等時返回NULL值若不相等時則返回xpression1的值


        [來源: http://stevieliu.blogchina.com/stevieliu/4720568.html]
        [參考《SQL Server聯(lián)機(jī)叢書》,略有修改]


        二 SQL Server中各個系統(tǒng)表的作用
 
        sysaltfiles    主數(shù)據(jù)庫               保存數(shù)據(jù)庫的文件
        syscharsets    主數(shù)據(jù)庫               字符集與排序順序
        sysconfigures  主數(shù)據(jù)庫               配置選項(xiàng)
        syscurconfigs  主數(shù)據(jù)庫               當(dāng)前配置選項(xiàng)
        sysdatabases   主數(shù)據(jù)庫               服務(wù)器中的數(shù)據(jù)庫
        syslanguages   主數(shù)據(jù)庫               語言
        syslogins      主數(shù)據(jù)庫               登陸賬號信息
        sysoledbusers  主數(shù)據(jù)庫               鏈接服務(wù)器登陸信息
        sysprocesses   主數(shù)據(jù)庫               進(jìn)程
        sysremotelogins主數(shù)據(jù)庫               遠(yuǎn)程登錄賬號
        syscolumns     每個數(shù)據(jù)庫             列
        sysconstrains  每個數(shù)據(jù)庫             限制
        sysfilegroups  每個數(shù)據(jù)庫             文件組
        sysfiles       每個數(shù)據(jù)庫             文件
        sysforeignkeys 每個數(shù)據(jù)庫             外部關(guān)鍵字
        sysindexs      每個數(shù)據(jù)庫             索引
        sysmenbers     每個數(shù)據(jù)庫             角色成員
        sysobjects     每個數(shù)據(jù)庫             所有數(shù)據(jù)庫對象
        syspermissions 每個數(shù)據(jù)庫             權(quán)限
        systypes       每個數(shù)據(jù)庫             用戶定義數(shù)據(jù)類型
        sysusers       每個數(shù)據(jù)庫             用戶

        三 Transact_SQL

        1  語法

語 句      功 能
(1) 數(shù)據(jù)操作    
SELECT     從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列
INSERT     向數(shù)據(jù)庫表添加新數(shù)據(jù)行
DELETE      從數(shù)據(jù)庫表中刪除數(shù)據(jù)行
UPDATE     更新數(shù)據(jù)庫表中的數(shù)據(jù)
(2)數(shù)據(jù)定義    
CREATE TABLE      創(chuàng)建一個數(shù)據(jù)庫表
DROP TABLE     從數(shù)據(jù)庫中刪除表
ALTER TABLE     修改數(shù)據(jù)庫表結(jié)構(gòu)
CREATE VIEW      創(chuàng)建一個視圖
DROP VIEW     從數(shù)據(jù)庫中刪除視圖
CREATE INDEX      為數(shù)據(jù)庫表創(chuàng)建一個索引
DROP INDEX      從數(shù)據(jù)庫中刪除索引
CREATE PROCEDURE     創(chuàng)建一個存儲過程
DROP PROCEDURE     從數(shù)據(jù)庫中刪除存儲過程
CREATE TRIGGER     創(chuàng)建一個觸發(fā)器
DROP TRIGGER      從數(shù)據(jù)庫中刪除觸發(fā)器
CREATE SCHEMA      向數(shù)據(jù)庫添加一個新模式
DROP SCHEMA      從數(shù)據(jù)庫中刪除一個模式
CREATE DOMAIN      創(chuàng)建一個數(shù)據(jù)值域
ALTER DOMAIN     改變域定義
DROP DOMAIN      從數(shù)據(jù)庫中刪除一個域
(3)數(shù)據(jù)控制    
GRANT     授予用戶訪問權(quán)限
DENY     拒絕用戶訪問
REVOKE     解除用戶訪問權(quán)限
(4)事務(wù)控制    
COMMIT     結(jié)束當(dāng)前事務(wù)
ROLLBACK       中止當(dāng)前事務(wù)
SET TRANSACTION      定義當(dāng)前事務(wù)數(shù)據(jù)訪問特征
(5)程序化SQL    
DECLARE       為查詢設(shè)定游標(biāo)
EXPLAN     為查詢描述數(shù)據(jù)訪問計劃
OPEN     檢索查詢結(jié)果打開一個游標(biāo)
FETCH      檢索一行查詢結(jié)果
CLOSE     關(guān)閉游標(biāo)
PREPARE     為動態(tài)執(zhí)行準(zhǔn)備SQL 語句
EXECUTE     動態(tài)地執(zhí)行SQL 語句
DESCRIBE     描述準(zhǔn)備好的查詢

                     

 

 


    

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 














          (6) 局部變量

        declare @id char(10)
        --set @id = ‘10010001‘
        select @id = ‘10010001‘

        (7)全局變量

        ---必須以@@開頭

        (8) IF ELSE

        --舉例:

        declare @x int @y int @z int
        select @x = 1 @y = 2 @z=3
        if @x > @y
                print ‘x > y‘ --打印字符串‘x > y‘
        else if @y > @z
                print ‘y > z‘
        else print ‘z > y‘

        (9) CASE

        --舉例:

        use pangu
        update employee
        set e_wage =
        case
                when job_level = ’1’ then e_wage*1.08
                when job_level = ’2’ then e_wage*1.07
                when job_level = ’3’ then e_wage*1.06
                else e_wage*1.05
        end

        (10) WHILE CONTINUE BREAK

        --舉例:

        declare @x int @y int @c int
        select @x = 1 @y=1
        while @x < 3
                 begin
                        print @x --打印變量x 的值
                        while @y < 3
                                begin
                                        select @c = 100*@x + @y
                                        print @c --打印變量c 的值
                                        select @y = @y + 1
                                end
                        select @x = @x + 1
                          select @y = 1
                end

        (11) WAITFOR

        --舉例:

        --例 等待1 小時2 分零3 秒后才執(zhí)行SELECT 語句
        waitfor delay ’01:02:03’
        select * from employee
        --例 等到晚上11 點(diǎn)零8 分后才執(zhí)行SELECT 語句
        waitfor time ’23:08:00’
        select * from employee

        2 常見用法舉例

        (1) SELECT

        select *(列名) from table_name(表名) where column_name operator value
        ex:(宿主)
        select * from stock_information where stockid   = str(nid)
        stockname = ‘str_name‘
        stockname like ‘% find this %‘
        stockname like ‘[a-zA-Z]%‘ --------- ([]指定值的范圍)
        stockname like ‘[^F-M]%‘   --------- (^排除指定范圍)
         --------- 只能在使用like關(guān)鍵字的where子句中使用通配符)
        or stockpath = ‘stock_path‘
        or stocknumber < 1000
        and stockindex = 24
        not stocksex = ‘man‘
        stocknumber between 20 and 100
        stocknumber in(10,20,30)
        order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
        order by 1,2 --------- by列號
        stockname = (select stockname from stock_information  where stockid  = 4)
         --------- 子查詢
        --------- 除非能確保內(nèi)層select只返回一個行的值,
        --------- 否則應(yīng)在外層where子句中用一個in限定符
        select distinct column_name form table_name --------- distinct指定檢索獨(dú)有的列值,不重復(fù)
        select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
        select stockname , "stocknumber" = count(*) from table_name group by stockname
                                      --------- group by 將表按行分組,指定列中有相同的值
                 having count(*) = 2  ---------  having選定指定的組
       
        select *
        from table1, table2                 
        where table1.id *= table2.id -------- 左外部連接,table1中有的而table2中沒有得以null表示
        table1.id =* table2.id -------- 右外部連接

        select stockname from table1
        union [all]  -----  union合并查詢結(jié)果集,all-保留重復(fù)行
        select stockname from table2

        (2) insert

        insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")
                value (select Stockname , Stocknumber from Stock_table2)---value為select語句

        (3) update

        update table_name set Stockname = "xxx" [where Stockid = 3]
                Stockname = default
                Stockname = null
                Stocknumber = Stockname + 4

        (4) delete

        delete from table_name where Stockid = 3
        truncate table_name ----------- 刪除表中所有行,仍保持表的完整性
        drop table table_name --------------- 完全刪除表

        (5) alter table

        alter table database.owner.table_name add column_name char(2) null ..
        sp_help table_name ---- 顯示表已有特征
        create table table_name (name char(20), age smallint, lname varchar(30))
        insert into table_name select  ----- 實(shí)現(xiàn)刪除列的方法(創(chuàng)建新表)
        alter table table_name drop constraint Stockname_default ---- 刪除Stockname的default約束

        四 MS-SQL數(shù)據(jù)庫開發(fā)常用匯總

        1 按姓氏筆畫排序

        Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

        2 數(shù)據(jù)庫加密

        select encrypt(‘原始密碼‘)
        select pwdencrypt(‘原始密碼‘)
        select pwdcompare(‘原始密碼‘,‘加密后密碼‘) = 1--相同;否則不相同 encrypt(‘原始密碼‘)
        select pwdencrypt(‘原始密碼‘)
        select pwdcompare(‘原始密碼‘,‘加密后密碼‘) = 1--相同;否則不相同

        3 取回表中字段

        declare @list varchar(1000),@sql nvarchar(1000)
        select @list=@list+‘,‘+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name=‘表A‘
        set @sql=‘select ‘+right(@list,len(@list)-1)+‘ from 表A‘
        exec (@sql)

        4 查看硬盤分區(qū)

        EXEC master..xp_fixeddrives

        5 比較A,B表是否相等
        if (select checksum_agg(binary_checksum(*)) from A)
        =
        (select checksum_agg(binary_checksum(*)) from B)
        print ‘相等‘
        else
        print ‘不相等‘

        6 殺掉所有的事件探察器進(jìn)程
        DECLARE hcforeach CURSOR GLOBAL FOR SELECT ‘kill ‘+RTRIM(spid)
                FROM master.dbo.sysprocesses
                WHERE program_name IN(‘SQL profiler‘,N‘SQL 事件探查器‘)
        EXEC sp_msforeach_worker ‘?‘

        7 記錄搜索

        (1) 開頭到N條記錄

        Select Top N * From 表

        (2) N到M條記錄(要有主索引ID)

        Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID Desc

        (3)N到結(jié)尾記錄

        Select Top N * From 表 Order by ID Desc

        8 如何修改數(shù)據(jù)庫的名稱

        sp_renamedb ‘old_name‘, ‘new_name‘

        9 獲取當(dāng)前數(shù)據(jù)庫中的所有用戶表

        select Name from sysobjects where xtype=‘u‘ and status>=0

        或者:

        select   *   from   information_schema.tables

        10 獲取某一個表的所有字段

        select name from syscolumns where id=object_id(‘表名‘)

        11 查看與某一個表相關(guān)的視圖、存儲過程、函數(shù)

        select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like ‘%表名%‘

        12 查看當(dāng)前數(shù)據(jù)庫中所有存儲過程

        select name as 存儲過程名稱 from sysobjects where xtype=‘P‘

        13 查詢用戶創(chuàng)建的所有數(shù)據(jù)庫

        select * from master..sysdatabases D
                where sid not in(select sid from master..syslogins where name=‘sa‘)

        或者

        select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

        14 查詢某一個表的字段和數(shù)據(jù)類型

        select column_name,data_type from information_schema.columns
        where table_name = ‘表名‘

       15 判斷一個表是否存在
 
        if   exists(select   1   from   sysobjects   where   name=‘要判斷的表名‘   and   xtype=‘U‘)  
                print   ‘在‘  
        else    
                print   ‘不在‘  

         或者
 
        if   objectproperty(object_id(‘要判斷的表名‘),‘isusertable‘)   is   null  
                print   ‘無此表‘  
                else  
        print   ‘有此表‘

       16 在存儲過程中刪除表的列

       http://blog.csdn.net/scucj/archive/2006/07/14/919525.aspx

       17 創(chuàng)建一個表和兩個字段,并指定其中一個字段為自增的關(guān)鍵字

       CREATE TABLE ‘+ @TABLENAME + ‘ (tableID BigInt identity(1,1) primary key,myUserID BigInt)‘

 

本文參考:
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
我收藏的Transact_SQL小手冊,適合初學(xué)者
SQL語法,SQL語句大全,SQL基礎(chǔ)
SQL Server 2008數(shù)據(jù)庫實(shí)用教程-第04章
標(biāo)準(zhǔn)SQL語句總結(jié)
plsql 常用函數(shù)
SQL中decode()函數(shù)的使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服