|
我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”?! z W* u6 ?5 K. [7 n0 y, `4 `1 x, t% ]
就像是; z$ u1 f2 D& ?4 A1 X
SELECT RegName,# v' Q7 f8 N7 u' T: F% c4 X
RegEmail,
: j- \4 S* a# a RegPhone,
, T' H4 p9 B. p' {# `9 n5 a RegOrg,1 H9 f6 M8 w, S q2 R: r
RegCountry,! x* k$ L, q' Q3 _/ S" e
DateReg,( x6 |' _' Y% H7 Y( l0 ?5 ]
(Website IS NULL? 'no website' : Website) AS WebSite3 H1 [2 C1 u, }! n+ K& {
FROM RegTakePart
7 [! C/ G2 x& M, lWHERE Reject IS NULL
8 P$ I3 N, t! K" {9 d/ F: \$ H它将在sql server 2005上运行! W3 y3 ?" _8 N8 o5 t- e3 R0 X
谢谢
4 {3 b- Q+ B$ V7 _9 ~ ' n2 w* p1 p2 r$ \( p1 D, Q' y6 }4 Q3 p
解决方案:
& S1 K+ N$ H- v" Q9 I 7 B5 e" V$ Q% P+ ~
- y7 `8 x/ U( w3 w
6 C- G+ G0 m% ~/ d# l7 F, v# F
使用以下内容:
$ I$ h/ a: W3 Q- Y- OSELECT RegName,7 Y }3 D" c$ M5 i- ~+ \! T
RegEmail,6 ^ C* D) o. g% u
RegPhone,* @- q( f4 w/ V1 W# l2 O
RegOrg,# p" R, W1 y- m3 `$ W
RegCountry,
4 ]: R7 o3 B* _/ C- E4 X DateReg,
/ X$ R! C% O- p' Z4 b% V) S# } ISNULL(Website,'no website') AS WebSite , O0 S o# Z6 W3 ~9 O4 T. z) L
FROM RegTakePart
; f; A3 T+ r* A# q9 zWHERE Reject IS NULL( @' p/ d8 {6 l
或@Lieven指出:0 Q. }: ]1 u' s# Y5 J$ {/ ]7 E: ^
SELECT RegName,
6 v3 _3 G; X6 s- o RegEmail,1 n+ @- F6 n& E4 E
RegPhone,
" K: |6 g3 Q6 N+ h0 \9 ]; Z% C$ N RegOrg,' T _ N6 f# c/ N n5 u* n$ c
RegCountry,
, ?8 L! @6 h! c1 `/ k/ l: g' u; z/ s DateReg,
: {" i+ s' y. o- F* O; m6 ^) C3 H COALESCE(Website,'no website') AS WebSite ' A3 B( P6 N u& r P
FROM RegTakePart
# g# h1 R( S3 t5 R" O0 |WHERE Reject IS NULL0 y" S& a5 G) d; K
COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推… |
|