从MIN到MAX排序

用户名

我是SQL Server的新手。我有一个小问题,我无法查找。关键是我无法获取列中的数据顺序STATEID,我希望将其顺序从最小到最大。我正在使用ORDER BYASC,但无法正常工作。我还可以通过其他什么方式从列中获得最小到最大的确切序列STATEID我正在使用SQL Server 2008。

这是我的代码示例。

ALTER PROCEDURE [dbo].[basicGatherSelect]
    @StateID            nvarchar(5),    
    @Name               nvarchar(50)
AS
BEGIN 
    BEGIN TRANSACTION 

    SET NOCOUNT ON;

    SELECT  
       StateID, name
    FROM 
        tblState 
    ORDER BY 
        STATEID ASC

    IF  @@error <> 0
    BEGIN
            ROLLBACK
            RAISERROR ('PROBLEM', 16, 1)
            RETURN
    END

    COMMIT
END

结果:

  • 10黎巴嫩
  • 3俄罗斯
  • 4拉脱维亚
  • 5奥地利
  • 7巴西
  • 8德国
  • 9阿根廷
  • 1塞尔维亚
  • 2波斯尼亚
耶稣

尝试这个:

ALTER PROCEDURE [dbo].[basicGatherSelect]
    @StateID            nvarchar(5),    
    @Name               nvarchar(50)
AS
BEGIN 
    BEGIN TRANSACTION 

    SET NOCOUNT ON;

    SELECT  
       StateID, name
    FROM 
        tblState 
    ORDER BY 
        CAST(STATEID AS INT) ASC

    IF  @@error <> 0
    BEGIN
            ROLLBACK
            RAISERROR ('PROBLEM', 16, 1)
            RETURN
    END

    COMMIT
END

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章