|
我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”?
1 z5 \" D5 P3 }6 H" ^+ G3 B1 p' s就像是1 ~4 U3 d- g; e4 w, U/ c* d$ p
SELECT RegName,+ }8 i3 u8 T6 R
RegEmail,( O6 A4 W1 {# T
RegPhone,* _6 P4 R9 Y T3 L) h" L$ ?
RegOrg,
/ |0 Q* u2 h5 V. q* V RegCountry,
) e" a$ L1 e3 S7 u3 p DateReg,
' C6 j9 O P/ E Q- j( w( V (Website IS NULL? 'no website' : Website) AS WebSite; s$ l! h0 C# S3 s# T. ]3 a
FROM RegTakePart
9 M5 Z2 c8 m$ F0 {# w, z! o& \7 m# GWHERE Reject IS NULL3 ~& d9 c* q$ T: P. d$ I5 T
它将在sql server 2005上运行6 U6 k! l. N1 x6 Q* {/ n
谢谢/ o- N- _ I/ M
0 a: W( j- L7 A% T, k- E' L解决方案:
1 y2 O' r. R+ K4 y$ e" |" \( z2 V * Y) H3 W! i6 p" A W
9 a- H2 F5 f( V
0 ^) v2 Q+ B# @9 p 使用以下内容:5 g$ r- B/ U1 d8 o" C- W g
SELECT RegName,
8 ^' z) V2 M4 W ~ RegEmail,
6 \* i0 f- W/ |8 |, E4 F RegPhone,
& a& d, U- j" R RegOrg,% ~, C9 m; X/ h$ \; b
RegCountry,
" m3 i# H1 W) b8 h1 R% N DateReg,
& ]! Q9 Z7 u* d, V ISNULL(Website,'no website') AS WebSite . l: K/ {3 |% i; N; D: P9 Z5 O
FROM RegTakePart 8 f. u8 @$ j8 j' {/ G5 q4 Y3 Z
WHERE Reject IS NULL6 t; i* i! m0 ]# K& ?' B0 U3 y
或@Lieven指出:3 a4 l0 G; Z$ X6 F8 w& u- _2 E4 n3 v; A
SELECT RegName,
: ]$ e4 C, E) R+ O5 b RegEmail,0 `4 \% N- N- r# s
RegPhone,2 o2 ^) [# }5 c0 @: E. y1 E U
RegOrg,+ D+ I% |, o M' N
RegCountry,8 Z2 B9 i/ V! c" i. p C4 q$ e
DateReg,
* O }( t0 _# J; x w4 m COALESCE(Website,'no website') AS WebSite
9 x1 U7 h L" m& b TFROM RegTakePart
0 z' E0 P- i4 f7 e0 X6 o; s; cWHERE Reject IS NULL
9 d( ^" i, R+ \ i1 A* MCOALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推… |
|