急救信号:SQL构建

tonyyan 2002-07-02 02:04:20

A1 BOOLEAN,
A2,
B1 BOOLEAN,
B2,
C1 BOOLEAN,
C2,
D,E,F,G....
以上是表内的一条记录的几个字段。
如果 A1=TRUE 则生成一条记录包括A2,D,E,F,G...
如果 B1=TRUE 则生成一条记录包括B2,D,E,F,G...
如果 C1=TRUE 则生成一条记录包括C2,D,E,F,G...
请问该如何构建SQL语句




...全文
22 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nne998 2002-07-04
  • 打赏
  • 举报
回复
IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。
mysql> select IF(1>2,2,3);
-> 3
mysql> select IF(1<2,'yes','no');
-> 'yes'
mysql> select IF(strcmp('test','test1'),'yes','no');
-> 'no'

expr1作为整数值被计算,它意味着如果你正在测试浮点或字符串值,你应该使用一个比较操作来做。

mysql> select IF(0.1,1,0);
-> 0
mysql> select IF(0.1<>0,1,0);
-> 1

在上面的第一种情况中,IF(0.1)返回0,因为0.1被变换到整数值, 导致测试IF(0)。这可能不是你期望的。在第二种情况中,比较测试原来的浮点值看它是否是非零,比较的结果被用作一个整数。

tonyyan 2002-07-04
  • 打赏
  • 举报
回复
伙计,你说的对我没什么用处,我已解决。不过十分感谢你的热心帮助。20分了表谢意!
tonyyan 2002-07-04
  • 打赏
  • 举报
回复
伙计,你说的对我没什么用处,我已解决。不过十分感谢你的热心帮助。20分了表谢意!

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧