°ïÎÒ¿´¿´ÏÂÃæµÄsqlÓï¾ä - MS-SQL Server / »ù´¡Àà
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Test]
@sort_expression varchar(255)='Id',
@ascending varchar(20) = 'false'
AS
BEGIN
WITH
Found AS
(
select * from tablename
),
Rows AS
(
SELECT ROW_NUMBER() OVER
(
ORDER BY CASE WHEN @ascending = 'true' THEN
CASE @sort_expression
WHEN 'Id' THEN r.id
WHEN 'Name' THEN r.name
--WHEN 'Type' THEN r.type
WHEN 'ExpiryDate'THEN r.expiry_date
END
END ASC,
CASE WHEN @ascending = 'false' THEN
CASE @sort_expression
WHEN 'Id' THEN r.id
WHEN 'Name' THEN r.name
--WHEN 'Type' THEN r.type
WHEN 'ExpiryDate'THEN r.expiry_date
END
END DESC
) AS row_number, r.* from Found r
)
SELECT * from Rows
END
µ±ÎÒÔËÐÐ
exec Test 'id','true'
³ö´í
Error converting data type varchar to float.
Ó¦¸ÃÊÇÔÚ WHEN 'Name' THEN r.name ÕâÀï
name×Ö¶ÎÀàÐÍÊÇnvarchar
ÇëÎÊÔõô¸Ä
SQL code:
CASE @sort_expression
WHEN 'Id' THEN rtrim(r.id)
WHEN 'Name'
Ïà¹ØÎÊ´ð£º
ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд
ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
sqlµÄÈí¼þÔÚÄÄÀï¿ÉÒÔϰ¡£¡ÔÚÍøÉÏÕÒÁËÂù¶à¶¼Óò»Á˰¡
Ëæ±ã¸ãÒ»D°æ°É£¬
ѸÀ×µÚÒ»¸ö¾Í¿ÉÒÔÓÃ
2000,2005¶¼ÕâÑù
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
1¡£ÔõÑùʹxp_cmdshellÄÜÍêÕûÊä³ö³¬¹ý255¸ö×Ö·ûµÄ×Ö·û´®¡£
2¡£select ʱ£¬¼ìË÷ËÙ¶ÈÊÇÓëfromºóµÄ TABLE˳ÐòÓйأ¬»¹ÊÇÓëwhereÌõ¼þµÄ˳ÐòÓйØ(TABLEÊý¾Ý¶àÉÙ )
ÔÚϵͳÊôÐÔÉ趨ÀïÓиöÑ¡Ïî,¿ÉÒÔÐ޸ĵ¥×Ö¶ÎÊä³ö×ÖÊýÏÞÖÆ. ......
´úÂ룺select sum(stptime) as stptime from jl stptimeÊÇintÀàÐ굀 ÎÒÔÚ²éѯ·ÖÎöÆ÷ÖÐÔËÐÐÊÇÕý³£µÄ µ«ÊǷŵ½³ÌÐòÖоÍÌáʾ´íÎ󣺡®jl.id¡¯ÔÚÑ¡ÔñÁбíÖÐÎÞЧ£¬ÒòΪ¸ÃÁÐδ°üº¬ÔھۺϺ¯ÊýÖУ¬²¢ÇÒûÓÐGroup ......