|
我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”?
& I/ Q2 M A" \, y$ ]% ^: B' t" K就像是
. v; f l5 _% X$ d# O& U2 X0 iSELECT RegName,
* p2 O6 e$ g7 M9 {' \ RegEmail,1 q% N: z: K4 a: q$ G- B3 V
RegPhone,+ j, T& @0 T, v8 ~
RegOrg,$ @( f" b$ A% f s2 ~8 w9 s- }
RegCountry,+ M7 x1 |! _; A6 U" o% O
DateReg,: k6 Y2 Q+ @) a( P
(Website IS NULL? 'no website' : Website) AS WebSite
' f) d2 @1 t# k, g: A LFROM RegTakePart
, L0 S2 a9 Q3 |8 h- G( K+ [WHERE Reject IS NULL' K" ] a& Q: i& U8 ^) p. N: R
它将在sql server 2005上运行
Y$ j! y( _' O: n谢谢
) c6 u% W3 O9 }/ W. K# _5 h
* L8 n$ b5 I& R* v解决方案:, E- c0 H- N4 T8 g, [0 f5 y5 l
* v# ^/ E D7 E2 h
% H8 q: f% N8 l8 |# @* E7 W% G) ?1 g1 B$ b4 L
使用以下内容:4 \# l A/ |4 `" f5 G6 |+ N) [
SELECT RegName,6 a7 e: P# I- R$ \
RegEmail,
* n" W( L" B5 `) I! ?' l RegPhone,
* B* I. V: U" F1 F( n! ^+ T5 N) u RegOrg,
% q: E: M4 r, I& w4 X RegCountry,2 j' k& ]2 j3 W! ^$ m
DateReg,4 d" v5 A T) O* o% B
ISNULL(Website,'no website') AS WebSite ( X; q% H3 l' P3 W8 _1 K+ ]3 r. N
FROM RegTakePart 1 h( B0 w6 r+ `5 T3 A( J
WHERE Reject IS NULL4 B$ D, u! D; @* F0 G. m5 {0 E4 C
或@Lieven指出:
# C: s, j6 j# g. b/ @* z: @% x( hSELECT RegName,
; ^0 X/ k- S7 U7 m( C3 P) w RegEmail,
2 ?2 l7 R4 B3 i3 }0 S RegPhone,
$ ? f9 x- N7 }9 O RegOrg,
4 e" G x* ^) e RegCountry,% C/ l. A3 f# ?: P# G$ o/ b. p. A
DateReg,% v/ P+ D4 U4 n Z8 [5 A
COALESCE(Website,'no website') AS WebSite # {3 L$ o$ Z9 }. L2 }3 s% @" ]0 L
FROM RegTakePart ! m$ M& B% x( L7 l6 N
WHERE Reject IS NULL% B0 D- g0 v* V$ z {- w& E
COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推… |
|