¸ß·ÖÇó½âSQLÓï¾ä - MS-SQL Server / ÒÉÄÑÎÊÌâ
¶ÔÓÚÊý¾Ý¿âÖеÄÁ½ÌõÊý¾Ý
1-5.1
1-5.10
1-5.9
ÈçºÎʵÏÖ²éÑ®½á¹û°´ÕÕ´ÓСµ½´óµÄÅÅÐò
1-5.1
1-5.9
1-5.10
SQL code:
if not object_id('tb') is null
drop table tb
Go
Create table tb([col] varchar(10))
Insert tb
select '1-5.1' union all
select '1-5.10' union all
select '1-5.9'
Go
select *
from tb
order by left(col,charindex('.',col)-1)
,cast(right(col,len(col)-charindex('.',col))as float)asc
/*
col
----------
1-5.1
1-5.9
1-5.10
*/
SQL code:
--> Éú³É²âÊÔÊý¾Ý±í: [tb]
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb] ([col] varchar(10))
INSERT INTO [tb]
SELECT '1-5.1' UNION ALL
SELECT '1-5.10' UNION ALL
SELECT '1-5.9' UNION ALL
SELECT '1-3.9' UNION ALL
SELECT '1-3.12' UNION ALL
SELECT '1-3.3'
--SELECT * from [tb]
-->SQL²éѯÈçÏÂ:
select * from tb order by left(col,charindex('.',[col])),stuff(col,1,charindex('.',[col]),'')*1
/*
col
----------
1-3.3
1-3.9
1-3.12
1-5.1
1-5.9
1-5.10
(6 ÐÐÊÜÓ°Ïì)
*/
select * from tb
order by cast(replace(col,'-','0') as decimal)
SQL code:
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд
ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......
½ñÌì×öÁËÒ»¸ö´æ´¢¹ý³Ì »·¾³ÊÇSQL2000Êý¾Ý¿â
´óÖÂÈçÏÂ
½¨Á¢ÁÙʱ±í
¶¨ÒåÔ±¹¤Óαê
Ñ»·Ô±¹¤£¨ÊôÓÚ1¸ö¹«Ë¾)
......
×Ö¶Î1,×Ö¶Î2.....×Ö¶ÎN,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
ÏëÒªµÄ½á¹ûÊÇ:
1,Na ......