成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2005數據庫排序的SQL實例解析

數據庫 SQL Server
本文我們主要介紹了在SQL Server 2005數據庫中對查詢出來的字段按大小進行排序的一個SQL實例,通過這個實例讓我們一起來了解一下SQL Server 2005排序的方法吧,希望本次的介紹能夠對您有所幫助。

SQL Server 2005的數據庫操作中,遇到了這樣的問題:數據字段是Varchar(50)類型,存的有GB,MB,KB,例如3.3GB,523.6MB,823KB,這種屬性,兩千多條,怎樣對它按大小排序呢?SQL語句該如何寫?

解決這個問題,我們可以用函數來實現,因為它可以方便以后的擴展,如果數值出現TB或是或更高時,可以只改這個函數即可。

  1. udf_OrderLimitSize  
  2. SET ANSI_NULLS ON  
  3. GO  
  4. SET QUOTED_IDENTIFIER ON  
  5. GO  
  6. ALTER FUNCTION [dbo].[udf_OrderLimitSize]  
  7. (  
  8.     @Ov NVARCHAR(30)  
  9. )  
  10. RETURNS decimal(18,6)  
  11. AS  
  12. BEGIN 

--如果長度少于等于2的數值為返回NULL

  1. IF (LEN(@Ov) <= 2)  
  2.     RETURN NULL 

--宣告兩個變量

  1. DECLARE @v DECIMAL(18,6),@n DECIMAL(18,6) 

--判斷***兩位數是否為下面這些單位

  1. IF (RIGHT(@Ov,2) NOT IN ('TB','GB','MB','KB'))  
  2.     RETURN NULL 

--去掉***兩位數之后,把值轉為DECIMAL數據類型    

  1. SET @n = CONVERT(DECIMAL(18,6),LEFT(@Ov, LEN(@Ov) - 2)) 

--判斷截除***兩位數之后,使用ISNUMERIC判斷是否為有效的數值,如果不是返回NULL

  1. IF (ISNUMERIC(@n) = 0)  
  2.     RETURN NULL 

--下面做單位轉算,如果遇上有新單位時,可以作相應添加

  1. IF (@Ov LIKE '%TB')  
  2.     SET @v = @n * 1024 * 1024 * 1024  
  3. IF (@Ov LIKE '%GB')  
  4.     SET @v = @n * 1024 * 1024  
  5. IF (@Ov LIKE '%MB')      
  6.     SET @v = @n * 1024   
  7. IF (@Ov LIKE '%KB')      
  8.     SET @v = @n  
  9.     RETURN @v  
  10. END 

下面為了應用這個函數,例舉例子:

  1. CREATE TABLE test(id int identity(1,1),size NVARCHAR(50))  
  2. GO  
  3. INSERT INTO [test] values('23.5mb'),('10gb'),('12.7mb'),('8GB')  
  4. go  
  5. SELECT [id],[size] FROM test ORDER BY [dbo].[udf_OrderLimitSize]([size]) 

執行結果:

SQL Server 2005數據庫排序的SQL實例解析

關于SQL Server 2005的SQL排序問題的解決方案就介紹這么多了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. SSIS工程師為您揭秘SQL Server數據流
  2. SQL Server 2008 MDX學習筆記之理解元數組
  3. SQL Server數據庫DataRelation的應用示例詳解
  4. SQL Server 2005/2008中的CTE應用之遞歸查詢
  5. SQL Server 2008數據庫學習筆記之MDX查詢示例
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-08-22 14:00:13

SQL Server 游標調用函數

2010-07-16 14:17:18

SQL Server

2011-08-25 13:10:44

SQL Server 設置自動編號字段

2011-08-25 15:19:25

SQL Server 排序規則

2010-07-08 15:26:05

SQL Server

2010-07-22 14:46:41

SQL Server

2010-07-12 12:41:16

SQL Server

2011-08-18 18:03:32

手動卸載SQL Ser

2010-07-02 10:47:20

SQL Server

2011-08-15 15:40:57

SQL Server 系統數據庫

2011-09-07 15:11:31

SQL Server同步

2009-04-30 09:56:29

微軟SQL Server 緩存依賴

2010-06-30 13:19:17

SQL Server

2010-06-28 11:00:46

SQL Server

2011-08-11 09:12:31

SQL Server nolock

2010-07-20 10:02:41

SQL Server

2011-03-28 15:28:03

SQL Server 數據庫

2011-08-22 12:01:36

SQL Server代碼優化

2011-04-06 17:30:41

SQL ServerSQL

2010-07-09 14:30:56

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 青青草华人在线视频 | 欧美日在线 | 美国黄色毛片 | 在线 丝袜 欧美 日韩 制服 | 综合色播 | 成人日批视频 | 久久精品网| 精品国产一区二区三区成人影院 | 日韩在线小视频 | 日韩精品一区二区在线 | 亚洲视频国产视频 | 情侣酒店偷拍一区二区在线播放 | 国产高清免费视频 | 中文字幕第一页在线 | 亚洲少妇综合网 | 国产激情视频 | 96av麻豆蜜桃一区二区 | 精品久久国产老人久久综合 | 日韩视频一区二区三区 | 欧美美女爱爱 | 国产精品日韩欧美一区二区三区 | 欧美男人的天堂 | 成人三级在线播放 | 国产免费高清 | 亚洲二区在线 | 9久9久9久女女女九九九一九 | 久久av一区二区 | 成人午夜免费在线视频 | 激情婷婷成人 | av小说在线 | 国产精品视频在线观看 | 美国十次成人欧美色导视频 | 久久久久www | 国产一区欧美 | 久久新| 久久人人网 | 国产福利在线播放 | 草久视频 | 一区二区三区国产好 | 欧美性猛交一区二区三区精品 | 毛片一区 |