转换为sql和row select

时间:2014-02-25 01:16:39

标签: mysql sql sql-server

我现在有一个关于mssql的严肃问题..

你知道,在UInt64中有一个从实际数字中选择一些值的查询

 DECLARE @val bigint = 33689413311;
WHILE ( @val > 0 )
 BEGIN
  PRINT CONVERT(varchar(max),((@val%32)*100)/31)+'%'
  SET @val = @val/32
 END

此查询的结果应为:

100%

67%

29%

74%

0%

38%

100%

现在,我希望此查询仅选择前100%,而不是打印其他(67,29,74,0,38,100)

有什么方法可以做到吗?!

1 个答案:

答案 0 :(得分:1)

这是一个非常奇怪的请求。你拥有的不是“查询”。这是t-sql代码。如果您只想要第一个值,请摆脱while循环:

DECLARE @val bigint = 33689413311;
PRINT CONVERT(varchar(max),((@val%32)*100)/31)+'%'