我查看了类似的问题,但找不到任何能回答我问题的内容。
我有一个列,它是其他列的计算,其中我想要除以一个数字并将结果显示为百分比。我已经尝试了以下查询,并能够以十进制显示。基本上找出一个同事正在做的UPH的百分比......这样我就可以判断他们是在他们的部门还是懈怠。我使用150作为我的基本费率
ID DC OC Units UPH Percentage
11259 FB PU 553 114 0.760000
2375935 FB PU 263 70 0.466666
这是我的结果......
ID DC OC Units UPH Percentage
11259 FB PU 553 114 76%
2375935 FB PU 263 70 47%
我希望看到列'百分比',如下所示
name | provider | visit_dt | rd | rn
A | 100000 | 06/05/'17 | 1 | 1
A | 100001 | 06/04/'17 | 1 | 0
A | 100001 | 06/03/'17 | 1 | 0
B | 100000 | 06/05/'17 | 1 | 0
B | 100001 | 06/05/'17 | 1 | 1
C | 100000 | 06/05/'17 | 1 | 0
C | 100001 | 06/04/'17 | 1 | 0
C | 100001 | 06/03/'17 | 1 | 1
D | 100001 | 06/05/'17 | 1 | 0
D | 100001 | 06/04/'17 | 1 | 0
任何帮助都会受到赞赏,如果这对你很重要,我会提前道歉,我对SQL相对较新
答案 0 :(得分:1)
尝试这样做(SQL 2012及更高版本):
百分比= CONCAT(强制转换(isnull)(总和(单位)/ nullif(sum(datediff(minute,StartTime,FinishTime))* 1.0,0),0.0)* 60 as 十进制(10,0)),'%')
参考:https://docs.microsoft.com/en-us/sql/t-sql/functions/concat-transact-sql
试试这个(SQL 2008):
(convert(varchar,cast((isnull(sum(Units)/ nullif(sum(datediff(minute,StartTime,FinishTime))* 1.0,0),0.0)* 60)/ 150 * 100 as decimal( 10,0)))+'%')百分比
参考:https://docs.microsoft.com/en-us/sql/t-sql/language-elements/string-concatenation-transact-sql
答案 1 :(得分:0)
您可以使用格式(十进制,' p'),如下所示:
<Grid>
<WebBrowser x:Name="myBrowser"
webHelper:WebBrowserHelper.BrowserSource="{Binding XBAP_URI}"
Height="Auto"/>
<Grid Name="MyOverlayGrid" Background="LightGray" Opacity="0.5"
Visibility="{Binding Path=IsEnabled, Converter={StaticResource BoolToVisible2}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type igDock:ContentPane}}}">
<TextBlock Text="User does not have permissions for this application" FontSize="24"/>
</Grid>
</Grid>