Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL²ÎÊý»¯ÅÅÐòÏê½â

±àдһ¸ö´¢´æ¹ý³Ìusp_GetSortedShippers£¬Ëü½ÓÊÕNorthwindÊý¾Ý¿âÖÐShippers±íµÄÒ»¸öÁÐÃû³Æ×÷ΪÆäÖÐÒ»¸öÊäÈ루@colname£©£¬²¢´Ó¸Ã±í·µ»Ø°´ÊäÈëµÄÁÐÃûÅÅÐòµÄÐС£ÁíÒ»¸öÊäÈ루@sortdir£©±íʾÅÅÐòµÄ·½Ïò,‘A’±íʾ°´Éý˳ÅÅÐò,‘D’±íʾ°´½µÐòÅÅÐò¡£±àд¸Ã´æ´¢¹ý³ÌʱҪעÒâËüµÄÐÔÄÜ£¬¼´£¬¾¡¿ÉÄܵÄʹÓÃË÷Òý£¨ÀýÈ磬ÅÅÐòÁÐÉϵľۼ¯»ò·Ç¾Û¼¯¸²¸ÇË÷Òý£©¡£
´úÂëÇåµ¥7-4ÊǸÃÈÎÎñ½¨ÒéµÄµÚÒ»¸ö½â¾ö·½°¸
´úÂëÇåµ¥7-4  ²ÎÊý»¯ÅÅÐò£¬½â¾ö·½°¸1
USE Northwind;
GO
IF OBJECT_ID('dbo.usp_GetSortedShippers') IS NOT NULL
  DROP PROC dbo.usp_GetSortedShippers;
GO
CREATE PROC dbo.usp_GetSortedShippers
  @colname AS sysname, @sortdir AS CHAR(1) = 'A'
AS
IF @sortdir = 'A'
  SELECT ShipperID, CompanyName, Phone
  from dbo.Shippers
  ORDER BY
    CASE @colname
      WHEN N'ShipperID'   THEN CAST(ShipperID AS SQL_VARIANT)
      WHEN N'CompanyName' THEN CAST(CompanyName AS SQL_VARIANT)
      WHEN N'Phone'       THEN CAST(Phone AS SQL_VARIANT)
    END
ELSE
  SELECT ShipperID, CompanyName, Phone
  from dbo.Shippers
  ORDER BY
    CASE @colname
      WHEN N'ShipperID'   THEN CAST(ShipperID AS SQL_VARIANT)
      WHEN N'CompanyName' THEN CAST(CompanyName AS SQL_VARIANT)
      WHEN N'Phone'       THEN CAST(Phone AS SQL_VARIANT)
    END DESC;
GO
¸Ã½â¾ö·½°¸Ê¹ÓÃIFÓï¾ä¸ù¾ÝÇëÇóµÄÅÅÐò·½ÏòÈ·¶¨ÒªÖ´ÐеIJéѯ¡£Á½¸ö²éѯµÄÎ¨Ò»Çø±ðÊÇËüÃǵÄÅÅÐò±í´ïʽ²»Í¬£¬Ò»¸öʹÓÃÉýÐò£¬Ò»¸öʹÓýµÐò¡£Á½¸ö²éѯ¶¼Ê¹ÓÃCASE±í
´ïʽ¸ù¾ÝÊäÈëµÄÁÐÃû·µ»ØºÏÊʵÄÁÐÖµ¡£
×¢Òâ    SQL Server¸ù¾Ý±í´ïʽµÄ½á¹ûÖÐÓÅÏȼ¶×î¸ßµÄÊý¾ÝÀàÐÍÈ·¶¨CASE±í´ïʽ½á¹ûµÄÊý¾ÝÀàÐÍ£¬¶ø²»Êǰ´Êµ¼Ê·µ»Ø½á¹ûµÄÊý¾ÝÀàÐÍÈ·¶¨¡£Õâ¾ÍÒâζ×Å£¬Èç¹ûCASE±í´ïʽµÄÒ»¸öTHEN×Ӿ䷵»ØVARCHAR(30)Öµ£¬¶øÁíÒ»¸ö·µ»ØINTÖµ£¬±í´ïʽµÄ½á¹û½«×ÜÊÇINT£¬


Ïà¹ØÎĵµ£º

sql½âÎö


SqlHelper ÀàʵÏÖÏêϸÐÅÏ¢
SqlHelper ÀàÓÃÓÚͨ¹ýÒ»×龲̬·½·¨À´·â×°Êý¾Ý·ÃÎʹ¦ÄÜ¡£¸ÃÀ಻Äܱ»¼Ì³Ð»òʵÀý»¯£¬Òò´Ë½«ÆäÉùÃ÷Ϊ°üº¬×¨Óù¹Ô캯ÊýµÄ²»¿É¼Ì³ÐÀà¡£
ÔÚ SqlHelper ÀàÖÐʵÏÖµÄÿÖÖ·½·¨¶¼ÌṩÁËÒ»×éÒ»ÖµÄÖØÔØ¡£ÕâÌṩÁËÒ»ÖֺܺõÄʹÓà SqlHelper ÀàÀ´Ö´ÐÐÃüÁîµÄģʽ£¬Í¬Ê±Îª¿ª·¢ÈËԱѡÔñ·ÃÎÊÊý¾ÝµÄ·½Ê½ÌṩÁ˱ØÒ ......

sqlÀàÐÍת»»

±êÌâ¡¡: sql ×Ö·û´¦Àíº¯Êý´óÈ«
¹Ø¼ü×Ö:
·ÖÀà¡¡: ¸öÈË×¨Çø
Ãܼ¶¡¡: ¹«¿ª
(ÆÀ·Ö: , »Ø¸´: 0, ÔĶÁ: 278) »»
SQL×Ö·û´®´¦Àíº¯Êý´óÈ«(ת)2008-04-01 17:21SQL×Ö·û´®´¦Àíº¯Êý´óÈ«(ת)select ×Ö¶Î1 from ±í1 where ×Ö¶Î1.IndexOf("ÔÆ")=1;
ÕâÌõÓï¾ä²»¶ÔµÄÔ­ÒòÊÇindexof£¨£©º¯Êý²»ÊÇsqlº¯Êý£¬¸Ä³És ......

SQL ¶¯Ì¬ÅÅÐòµÄ·½·¨

ÔÚ¹«¹²ÐÂÎÅ×éÖУ¬Ò»¸ö¾­³£³öÏÖµÄÎÊÌâÊÇ“ÔõÑù²ÅÄܸù¾Ý´«µÝ¸ø´æ´¢¹ý³ÌµÄ²ÎÊý·µ»ØÒ»¸öÅÅÐòµÄÊä³ö£¿”¡£ÔÚһЩ¸ßˮƽר¼ÒµÄ°ïÖú֮ϣ¬ÎÒÕûÀí³öÁËÕâ¸öÎÊÌâµÄ¼¸ÖÖ½â¾ö·½°¸¡£
Ò»¡¢ÓÃIF...ELSEÖ´ÐÐÔ¤ÏȱàдºÃµÄ²éѯ
¡¡¡¡¶ÔÓÚ´ó¶àÊýÈËÀ´Ëµ£¬Ê×ÏÈÏëµ½µÄ×ö·¨Ò²ÐíÊÇ£ºÍ¨¹ýIF...ELSEÓï¾ä£¬Ö´Ðм¸¸öÔ¤ÏȱàдºÃµÄ²éѯÖеÄÒ» ......

ÔÚsql serverÖйØÓÚÓαêcursorµÄʹÓÃ

--´Ë´¦Ê¹ÓÃpubs¿â
declare @myname varchar(50)
declare @fname varchar(20)
declare @lname varchar(20)
declare my_cursor cursor for
select fname,lname from employee order by emp_id
open my_cursor
fetch next from my_cursor into @fname,@lname
while @@fetch_status=0
begin
    set @ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ