回答

收藏

值为null时在查询中设置默认值

技术问答 技术问答 235 人阅读 | 0 人回复 | 2023-09-14

我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为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,则获取第三个,依此类推…
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则