楼上的可以帮忙转换一下吗:
SELECT p, xx, qjbh, uh, ulk, un, un1, s, f, f1, 'DRange' = CASE WHEN xx IN ('1', '2', '3', '4')
THEN ROUND(20 * log (CAST(p AS float) / CAST(f AS float)), 2) WHEN xx IN ('5', '6', '7',
'8') THEN ROUND(20 * log (CAST(p AS float) / CAST(f AS float))
+ 20 * log (CAST(un AS float) / CAST(uh AS float)), 2) END
FROM csjl3
WHERE (qjbh = '1111')
ORDER BY xx
SELECT p, xx, qjbh, uh, ulk, un, un1, s, f, f1, 'DRange' = CASE WHEN xx IN ('1', '2', '3', '4')
THEN ROUND(20 * log (CAST(p AS float) / CAST(f AS float)), 2) WHEN xx IN ('5', '6', '7',
'8') THEN ROUND(20 * log (CAST(p AS float) / CAST(f AS float))
+ 20 * log (CAST(un AS float) / CAST(uh AS float)), 2) END
FROM csjl3
WHERE (qjbh = '1111')
ORDER BY xx
SELECT p, xx, qjbh, uh, ulk, un, un1, s, f, f1,
iif( xx IN ('1', '2', '3', '4'
, ROUND(20 * log (p /f), 2)
,iif(xx IN ('5', '6', '7', '8'
,ROUND(20 * log (p /f) + 20 * log (un /uh ), 2),null))
asDRange
FROM csjl3
WHERE (qjbh = '1111')
ORDER BY xx
SELECT p, xx, qjbh, uh, ulk, un, un1, s, f, f1,
iif( xx IN ('1', '2', '3', '4'
, ROUND(20 * log (p /f), 2)
,iif(xx IN ('5', '6', '7', '8'
,ROUND(20 * log (p /f) + 20 * log (un /uh ), 2),null))
as DRange
FROM csjl3
WHERE (qjbh = '1111')
ORDER BY xx