日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Sql常見問題總結(jié)二(Sql語句怎么樣查詢IP,游標(biāo)

系統(tǒng) 1897 0

章導(dǎo)航 SQL Server 2005 學(xué)習(xí)筆記系列文章導(dǎo)航 (存儲過程,視頻,索引,Clr,各種工具使用)

這篇文章是上篇 SQl使用方法總結(jié) 的延續(xù)篇

1.當(dāng)很多在共用你自己的數(shù)據(jù)時,時不時的會報這種錯誤“已超過了鎖請求超時時段”

直接把下在面的存儲過程 放到你的Master數(shù)據(jù)庫執(zhí)行一下就可以了

View Code
        
          set
        
         ANSI_NULLS 
        
          ON
        
        
          set
        
         QUOTED_IDENTIFIER 
        
          ON
        
        
          go
        
        
          ALTER
        
        
          Proc
        
        
          [
        
        
          dbo
        
        
          ]
        
        .
        
          [
        
        
          Sp_KillAllProcessInDB
        
        
          ]
        
        
          @DbName
        
        
          VarChar
        
        (
        
          100
        
        )


        
          as
        
        
          if
        
        
          db_id
        
        (
        
          @DbName
        
        ) 
        
          =
        
        
          Null
        
        
          begin
        
        
          Print
        
        
          '
        
        
          DataBase dose not Exist
        
        
          '
        
        
          end
        
        
          else
        
        
          Begin
        
        
          Declare
        
        
          @spId
        
        
          Varchar
        
        (
        
          30
        
        )


        
          DECLARE
        
         TmpCursor 
        
          CURSOR
        
        
          FOR
        
        
          Select
        
        
          '
        
        
          Kill 
        
        
          '
        
        
          +
        
        
          convert
        
        (
        
          Varchar
        
        , spid) 
        
          as
        
         spId

        
          from
        
         master..SysProcesses

        
          where
        
        
          db_Name
        
        (dbID) 
        
          =
        
        
          @DbName
        
        
          and
        
         spId 
        
          <>
        
        
          @@SpId
        
        
          and
        
         dbID 
        
          <>
        
        
          0
        
        
          OPEN
        
         TmpCursor


        
          FETCH
        
        
          NEXT
        
        
          FROM
        
         TmpCursor

        
          INTO
        
        
          @spId
        
        
          WHILE
        
        
          @@FETCH_STATUS
        
        
          =
        
        
          0
        
        
          BEGIN
        
        
          Exec
        
         (
        
          @spId
        
        )


        
          FETCH
        
        
          NEXT
        
        
          FROM
        
         TmpCursor

        
          INTO
        
        
          @spId
        
        
          END
        
        
          CLOSE
        
         TmpCursor

        
          DEALLOCATE
        
         TmpCursor


        
          end
        
      


這個時候如果再有這種情況 出現(xiàn)只要你執(zhí)行一下存儲過程就行了如例子

exec Sp_KillAllProcessInDB ' 要訪問的數(shù)據(jù)庫 '

2.如果修改數(shù)據(jù)的架構(gòu)

--'guest.Table_1'架構(gòu)名+(表名,視頻,存儲過程),新架構(gòu)名,
EXEC SP_ChangeObjectOwner 'guest.Table_1' , 'dbo'

3.如果安裝時選擇的windows驗證方法,怎么修改為Windows驗證和登錄用戶驗證模式?

View Code
        
          /*
        
        
           標(biāo)題:更改登錄用戶驗證方式 作者:蘇飛  時間:2011-09-25 地點:鄭州 
        
        
          */
        
        
          /*
        
        
               登錄用戶的驗證方式一般是在 SQL Server 2005 安裝時被確定的。如果需要改變登錄用 戶的驗證方式,只可以通過 SQL Server Configuration Manager 改變服務(wù)器的驗證方式。改 變登錄用戶的驗證方式的步驟如下:
1、通過"開始"/"程序"/"Microsoft SQL Server 2005"/"SQL Server Management Studio"菜單 打開SQL Server Management Studio 工具。
2、通過"連接到服務(wù)器"對話框連接到需要改變登錄用戶驗證方式的 SQL Server 2005 服務(wù)器。
3、連接正確后,SQL Server Management Studio 中的"對象資源管理器"版面將出現(xiàn)連接的服務(wù) 器。選中這個服務(wù)器,單擊鼠標(biāo)右鍵,選擇"屬性"菜單命令。
4、選擇"服務(wù)器屬性"對話框中的"選擇頁"版面內(nèi)的"安全性"頁面。
5、在"服務(wù)器身份驗證"框架內(nèi),重新選擇登錄用戶的驗證方式。選擇完成后單擊"確定"按鈕, 這時會彈出"SQL Server Management Studio"提示框,提示重新啟動 SQL Server后做作的更改 才會生效。
6、單擊"SQL Server Management Studio"提示框中的"確定"按鈕,重新啟動 SQL Server,即可 更改登錄用戶的驗證方式。

        
        
          */
        
      

4.SQl中如何處理Nvarchar數(shù)字排序問題

      
        select
      
      
        top
      
      
        10
      
      
        *
      
      
        from
      
       表名  
      
        order
      
      
        by
      
      
        cast
      
      (
      
        Ltrim
      
      (字段名) 
      
        as
      
      
        int
      
       )  
      
        desc
      
    

5.時間格式轉(zhuǎn)化

View Code
        
          --
        
        
          日期轉(zhuǎn)換參數(shù)
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        ,
        
          getdate
        
        (),
        
          120
        
        )

        
          --
        
        
          2009-03-15 15:10:02
        
        
        
        
          select
        
        
          replace
        
        (
        
          replace
        
        (
        
          replace
        
        (
        
          CONVERT
        
        (
        
          varchar
        
        , 
        
          getdate
        
        (), 
        
          120
        
         ),
        
          '
        
        
          -
        
        
          '
        
        ,
        
          ''
        
        ),
        
          '
        
        
          '
        
        ,
        
          ''
        
        ),
        
          '
        
        
          :
        
        
          '
        
        ,
        
          ''
        
        )

        
          --
        
        
          20090315151201
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          111
        
        )

        
          --
        
        
          2009/03/15
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          112
        
        )

        
          --
        
        
          20090315
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          102
        
        )

        
          --
        
        
          2009.03.15
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          108
        
        )

        
          --
        
        
          15:13:26
        
        
        
        
其它我不常用的日期格式轉(zhuǎn)換方法:


        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          101
        
         )

        
          --
        
        
          03/15/2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          103
        
         )

        
          --
        
        
          15/03/2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          104
        
         )

        
          --
        
        
          15.03.2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          105
        
         )

        
          --
        
        
          15-03-2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          106
        
         )

        
          --
        
        
          15 03 2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          107
        
         )

        
          --
        
        
           15, 2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          109
        
         )

        
          --
        
        
          03 15 2009  
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          110
        
         )

        
          --
        
        
          03-15-2009
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          11
        
        ) , 
        
          getdate
        
        (), 
        
          113
        
         )

        
          --
        
        
          15 03 2009 
        
        
        
        
          select
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          12
        
        ) , 
        
          getdate
        
        (), 
        
          114
        
        )

        
          --
        
        
          15:15:55:717
        
      


6.兩個時間的運算

      
        DATEDIFF
      
      ( minute , 時間,
      
        getdate
      
      ())
    

第一個參數(shù)可以是下列任意一個

      年    yy, yyyy 
季度    qq, q 
月    mm, m
 年中的日    dy, y 日    dd, d 
周    wk, ww 
星期    dw, w 
小時    hh 
分鐘    mi, n
 秒    ss, s 
毫秒    ms 
微妙    mcs 
納秒    ns
    


例子

      ELECT 
      
        DATEDIFF
      
      (
      
        day
      
      ,
      
        '
      
      
        2008-12-29
      
      
        '
      
      ,
      
        '
      
      
        2008-12-30
      
      
        '
      
      )
    

結(jié)果是1

      ELECT 
      
        DATEDIFF
      
      (
      
        day
      
      ,
      
        '
      
      
        2008-12-30
      
      
        '
      
      ,
      
        '
      
      
        2008-12-29
      
      
        '
      
      )
    

結(jié)果是-1

7.相同結(jié)構(gòu)表去重復(fù)后進行復(fù)制

      
        insert
      
      
        into
      
       新表名select  DomainInFo_FIp.D_Domain,源表名.D_ID,源表名.D_IP,源表名.stat 
      
        from
      
       源表名
    
      inner 
      
        join
      
        (
      
        select
      
      
        min
      
      (D_ID) D_ID,
      
        distinct
      
      (D_Domain) 
      
        as
      
       D_Domain  
      
        from
      
       源表名) TempTab 
      
        on
      
       源表名.D_ID 
      
        =
      
       TempTab.D_ID 
    



8.一個取一張表中域名第一個“.”之前部分,并寫入另外一張表的游標(biāo)實現(xiàn)

      
        declare
      
      
        @D_Domain
      
      
        nvarchar
      
      (
      
        200
      
      );
  
      
        Declare
      
       Mycursor 
      
        cursor
      
      
        for
      
      
        select
      
        D_Domain 
      
        FROM
      
       dbo.DomainInFo_FIp
  
      
        Open
      
       Mycursor                                 
  
      
        Fetch
      
      
        next
      
      
        from
      
       Mycursor 
      
        into
      
      
        @D_Domain
      
      
        --
      
      
        開始抓數(shù)據(jù) 
      
      
      
      
        while
      
      
        @@FETCH_STATUS
      
      
        =
      
      
        0
      
      
        begin
      
      
        set
      
      
        @D_Domain
      
      
        =Left
      
      (
      
        @D_Domain
      
      ,
      
        Charindex
      
      (
      
        '
      
      
        .
      
      
        '
      
      ,
      
        @D_Domain
      
      )
      
        -
      
      
        1
      
      )
   
      
        if
      
      (
      
        Len
      
      (
      
        @D_Domain
      
      )
      
        >
      
      
        0
      
      
        and
      
      
        @D_Domain
      
      
        <>
      
      
        '
      
      
        www
      
      
        '
      
      )
        
      
        begin
      
      
        insert
      
      
        into
      
           dbo.DomainInFo_FIp_log (D_Domain)
      
        values
      
      (
      
        @D_Domain
      
      )
        
      
        end
      
      
        Fetch
      
      
        next
      
      
        from
      
       Mycursor 
      
        into
      
      
        @D_Domain
      
      
        end
      
      
        Close
      
       Mycursor                         
      
        --
      
      
        關(guān)閉游標(biāo) 
      
      
      
      
        Deallocate
      
       Mycursor                    
      
        --
      
      
        刪除游標(biāo) 
      
    


9.計算一表中某個字段的重復(fù)次數(shù),游標(biāo)實現(xiàn)

      
        declare
      
      
        @D_Domain
      
      
        nvarchar
      
      (
      
        200
      
      );

      
        declare
      
      
        @count
      
      
        int
      
      ;
  
      
        Declare
      
       Mycursor 
      
        cursor
      
      
        for
      
      
        select
      
        D_Domain 
      
        FROM
      
       dbo.DomainInFo_FIp_log
  
      
        Open
      
       Mycursor                                 
  
      
        Fetch
      
      
        next
      
      
        from
      
       Mycursor 
      
        into
      
      
        @D_Domain
      
      
        --
      
      
        開始抓數(shù)據(jù) 
      
      
      
      
        while
      
      
        @@FETCH_STATUS
      
      
        =
      
      
        0
      
      
        begin
      
      
        select
      
      
        @count
      
      
        =
      
      
        count
      
      (
      
        *
      
      ) 
      
        from
      
       DomainInFo_FIp_log 
      
        where
      
       D_Domain
      
        =
      
      
        @D_Domain
      
      
        update
      
       DomainInFo_FIp_log 
      
        set
      
       numindex
      
        =
      
      
        @count
      
      
        where
      
       D_Domain
      
        =
      
      
        @D_Domain
      
      
        Fetch
      
      
        next
      
      
        from
      
       Mycursor 
      
        into
      
      
        @D_Domain
      
      
        end
      
      
        Close
      
       Mycursor                         
      
        --
      
      
        關(guān)閉游標(biāo) 
      
      
      
      
        Deallocate
      
       Mycursor                    
      
        --
      
      
        刪除游標(biāo) 
      
    


10.Replace函數(shù)的使用方法

      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        =
      
      
        '
      
      ,
      
        ''
      
      )  
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        <
      
      
        '
      
      ,
      
        ''
      
      ) 
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        -
      
      
        '
      
      ,
      
        ''
      
      )  
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        ~
      
      
        '
      
      ,
      
        ''
      
      )  
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        ]
      
      
        '
      
      ,
      
        ''
      
      )  
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        [
      
      
        '
      
      ,
      
        ''
      
      )  
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        $
      
      
        '
      
      ,
      
        ''
      
      )  
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        {
      
      
        '
      
      ,
      
        ''
      
      ) 
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        }
      
      
        '
      
      ,
      
        ''
      
      ) 
    
      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Replace
      
      (D_Domain,
      
        '
      
      
        ·
      
      
        '
      
      ,
      
        ''
      
      ) 
    

11.Substring函數(shù)與Len以及Left的配合使用(字段D_Domain值第一個字符是點的就清除這個點)

      
        update
      
       dbo.DomainInFo_FIp 
      
        set
      
       D_Domain
      
        =
      
      
        Substring
      
      (D_Domain,
      
        2
      
      ,
      
        Len
      
      (D_Domain)) 
      
        where
      
      
        Left
      
      (D_Domain,
      
        1
      
      ) 
      
        =
      
      
        '
      
      
        .
      
      
        '
      
    

12.一個實現(xiàn)怎么樣查詢IP所在段的函數(shù)代碼如下

      
        set
      
       ANSI_NULLS 
      
        ON
      
      
        set
      
       QUOTED_IDENTIFIER 
      
        ON
      
      
        go
      
      
        ALTER
      
      
        FUNCTION
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        GetIP
      
      
        ]
      
      (
      
        @ip
      
      
        varchar
      
      (
      
        20
      
      ))  

      
        RETURNS
      
      
        varchar
      
      (
      
        20
      
      )  

      
        AS
      
      
        BEGIN
      
      
        declare
      
      
        @IPre
      
      
        varchar
      
      (
      
        20
      
      )  
      
    
      
        SET
      
      
        @IPre
      
      
        =
      
      
        ''
      
      
        select
      
      
        @IPre
      
      
        =
      
      
        right
      
      (
      
        '
      
      
        00
      
      
        '
      
      
        +
      
      
        ParseName
      
      (
      
        @IP
      
      ,
      
        4
      
      ),
      
        3
      
      )
      
        +
      
      
        '
      
      
        .
      
      
        '
      
      
        +
      
      
        right
      
      (
      
        '
      
      
        00
      
      
        '
      
      
        +
      
      
        ParseName
      
      (
      
        @IP
      
      ,
      
        3
      
      ),
      
        3
      
      )
      
        +
      
      
        '
      
      
        .
      
      
        '
      
      
        +
      
      
        right
      
      (
      
        '
      
      
        00
      
      
        '
      
      
        +
      
      
        ParseName
      
      (
      
        @IP
      
      ,
      
        2
      
      ),
      
        3
      
      )
      
        +
      
      
        '
      
      
        .
      
      
        '
      
      
        +
      
      
        right
      
      (
      
        '
      
      
        00
      
      
        '
      
      
        +
      
      
        ParseName
      
      (
      
        @IP
      
      ,
      
        1
      
      ),
      
        3
      
      )
  
      
    
      
        RETURN
      
      
        @IPre
      
      
        END
      
    


如果大家想快速查詢的話我建議大家先把自己數(shù)據(jù)的IP段執(zhí)行一下這個函數(shù),然后每次查詢的時候直接轉(zhuǎn)要查詢的IP就行了,這樣速度會很快的。

例子如下:

      
        --
      
      
         =============================================
      
      
        
--
      
      
         Author:        <Author,sufei>
      
      
        
--
      
      
         Create date: <Create Date,2011-12-03>
      
      
        
--
      
      
         Description:    <Description,查詢IP地址>
      
      
        
--
      
      
         =============================================
      
      
      
      
        ALTER
      
      
        PROCEDURE
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        GetIPInfoByIP
      
      
        ]
      
      
        @ip
      
      
        varchar
      
      (
      
        200
      
      ) output

      
        AS
      
      
        BEGIN
      
      
        SET
      
      
        @ip
      
      
        =
      
      dbo.GetIP(
      
        @ip
      
      )
    
      
        SELECT
      
       iptitle 
      
        FROM
      
       Qqwry 
      
        WHERE
      
        GetIP(
      
        @ip
      
      ) 
      
        BETWEEN
      
       ipst 
      
        AND
      
       ipend 

      
        END
      
    


大家一定不要傻的這樣寫語句

      
        SELECT
      
       iptitle 
      
        FROM
      
       Qqwry 
      
        WHERE
      
        GetIP(
      
        @ip
      
      ) 
      
        BETWEEN
      
       ipst 
      
        AND
      
       ipend 
    

因為這樣的速度是極慢的,那是因為每一次檢查都要轉(zhuǎn)化。

在這里也提示大家在寫Sql語句時不要把函數(shù)直接寫在查詢語句內(nèi),當(dāng)然 如果是必須的那就沒有辦法了只能那樣了。

13.解決數(shù)據(jù)庫正在使用無法分離的存儲過程

View Code
        
          set
        
         ANSI_NULLS 
        
          ON
        
        
          set
        
         QUOTED_IDENTIFIER 
        
          ON
        
        
          go
        
        
          ALTER
        
        
          proc
        
        
          [
        
        
          dbo
        
        
          ]
        
        .
        
          [
        
        
          p_killspid
        
        
          ]
        
        
          @dbname
        
        
          varchar
        
        (
        
          200
        
        ) 
        
          --
        
        
          要關(guān)閉進程的數(shù)據(jù)庫名 
        
        
        
        
          as
        
        
          declare
        
        
          @sql
        
        
          nvarchar
        
        (
        
          500
        
        )     

        
          declare
        
        
          @spid
        
        
          nvarchar
        
        (
        
          20
        
        ) 


        
          declare
        
           #tb   
        
          cursor
        
        
          for
        
        
          select
        
           spid
        
          =
        
        
          cast
        
        (spid   
        
          as
        
        
          varchar
        
        (
        
          20
        
        ))   
        
          from
        
           master..sysprocesses   
        
          where
        
           dbid
        
          =
        
        
          db_id
        
        (
        
          @dbname
        
        ) 

        
          open
        
           #tb 

        
          fetch
        
        
          next
        
        
          from
        
           #tb   
        
          into
        
        
          @spid
        
        
          while
        
        
          @@fetch_status
        
        
          =
        
        
          0
        
        
          begin
        
        
          exec
        
        ( 
        
          '
        
        
          kill   
        
        
          '
        
        
          +
        
        
          @spid
        
        ) 

        
          fetch
        
        
          next
        
        
          from
        
           #tb   
        
          into
        
        
          @spid
        
        
          end
        
        
          close
        
           #tb 

        
          deallocate
        
           #tb 
      

使用方法

      
        exec
      
       dbo.p_killspid  ‘?dāng)?shù)據(jù)庫名稱’
    

 就先到這里吧,雖然不多,但也是大家常 見的問題,希望各位網(wǎng)友也把自己的經(jīng)驗分享一下。

14.刪除表中重復(fù)數(shù)大于N的數(shù)據(jù)

      delete 
      
        from
      
       dbo.DomainInFo_FIp_domain_old 

      
        where
      
       D_IP 
      
        in
      
      (
      
        select
      
       D_IP FROM
(
      
        select
      
        max(D_IP)AS D_IP ,count(D_IP) AS con FROM DomainInFo_FIp_domain_old group by D_IP)
      
        as
      
       t
WHERE con>
      
        500000
      
      )
    

15.把表中重復(fù)數(shù)小于N的數(shù)據(jù)寫入到一個新表中去(比較刪除的速度快100倍以上)

      insert   dbo.DomainInFo_FIp_domain_new

      
        select
      
       D_Domain,D_IP 
      
        from
      
        dbo.DomainInFo_FIp_domain_old

      
        where
      
       D_IP 
      
        in
      
      (

      
        select
      
       D_IP FROM 
(
 
      
        select
      
       max(D_Domain)
      
        as
      
       D_Domain, max(D_IP)AS D_IP ,count(D_IP) AS con 
 FROM  dbo.DomainInFo_FIp_domain
 group by D_IP
) 
      
        as
      
       t
WHERE con<
      
        5000
      
       
)
    

16.把一個表中某列轉(zhuǎn)成以豆號分隔的字符串

      
        declare
      
      
        @column_name
      
      
        varchar
      
      (
      
        2000
      
      )
     
      
        set
      
      
        @column_name
      
      
        =
      
      
        ''
      
      
        select
      
      
        @column_name
      
      
        =
      
      
        @column_name
      
      
        +
      
      
        convert
      
      (
      
        varchar
      
      ,column_name )  
      
        +
      
      
        '
      
      
        ,
      
      
        '
      
      
        from
      
      
        table
      
    

17.怎么取時間中的小時,分鐘等值

返回表示指定日期的指定日期部分的整數(shù)。語法

DATEPART ( ‘下面?zhèn)渥⒗锩娴倪x項’, date )

參數(shù) datepart 指定要返回的日期部分的參數(shù)。有關(guān)詳細(xì)信息,

日期部分 縮寫 年份 yy、yyyy

季度 qq、q

月份 mm、m

每年的某一日 dy、y

日期 dd、d

星期 wk、ww

工作日 dw

小時 hh

分鐘 mi、n

秒 ss、s

毫秒 ms

date 返回 datetime 值(或可隱式轉(zhuǎn)換為 datetime 值的值)的表達式。date 參數(shù)也可以是日期格式的字符串。datetime 數(shù)據(jù)類型僅用于 1753 年 1 月 1 日之后的日期。 對于之前的日期,將存儲為字符數(shù)據(jù)。在輸入 datetime 值時,請始終使用單引號將它們括起來。

如果只指定年份的后兩位數(shù)字,小于或等于兩位截止年份配置選項值的后兩位數(shù)字的值將與截止年份處于同一世紀(jì)中。比此選項值的后兩位數(shù)字大的值先于截止年份的世紀(jì)。例如,如果兩位數(shù)字的截止年份是 2049(默認(rèn)值),則“49”將被解釋為 2049,而“50”將被解釋為 1950。為了避免產(chǎn)生歧義,請使用四位年份。

有關(guān)指定日期的詳細(xì)信息,請參閱數(shù)據(jù)類型中的 datetime。

返回值 int




-------------------------------------------------------------簽名部分------------------------------------------------------------------------

歡迎大家轉(zhuǎn)載,如有轉(zhuǎn)載請注明文章來自: http://sufei.cnblogs.com/

簽名:做一番一生引以為豪的事業(yè);在有生之年報答幫過我的人;并有能力幫助需要幫助的人;

軟件開發(fā),功能定制,請聯(lián)系我 給我留言 QQ:361983679 Email: sufei.1013@163.com MSN: sufei.1013@163.com


-------------------------------------------------------------------推薦文章--------------------------------------------------------------
1. C#仿QQ皮膚 2. Sql2005學(xué)習(xí)筆記 3. httpHelper類

Sql常見問題總結(jié)二(Sql語句怎么樣查詢IP,游標(biāo)去重復(fù),各種函數(shù)使用,各種取時間格式,字符串精確排序,超時鎖問題)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 新疆| 巴林左旗| 青海省| 休宁县| 天峻县| 中宁县| 乳山市| 拉孜县| 长兴县| 班玛县| 宣武区| 蒙阴县| 桦川县| 张家口市| 宣城市| 昌图县| 门源| 平舆县| 常宁市| 安溪县| 九龙城区| 科技| 谢通门县| 电白县| 七台河市| 渭源县| 泰和县| 多伦县| 河池市| 东城区| 绥滨县| 泸州市| 旅游| 慈利县| 庆城县| 洛浦县| 宁蒗| 公主岭市| 横峰县| 竹山县| 江陵县|