1
12
使用ANSI CASE statement/expression :
SQL或MySQL中没有布尔值。MySQL实际上将值存储为INT,值为0或1:
|
2
167
在MySQL中,可以将空字符串设为空:
|
3
1
一种可能的解决方案是通过使用
下面是一个脚本示例: DELIMITER |; CREATE FUNCTION MY_COALESCE ( p_set_string TEXT ,p_delimiter CHAR(1) ) RETURNS TEXT DETERMINISTIC BEGIN RETURN SUBSTRING_INDEX(SUBSTRING_INDEX( REPLACE(REPLACE( CONCAT(p_delimiter,p_set_string,p_delimiter) ,CONCAT(p_delimiter,'0',p_delimiter),'') ,CONCAT(p_delimiter,p_delimiter),'') ,p_delimiter,2),p_delimiter,-1) ; END; |; DELIMITER ; SET @separator=',', @delimiter='$'; SELECT MY_COALESCE( CONCAT_WS(CONCAT(@delimiter,@separator,@delimiter),0,'','banana') ,@delimiter ) as fruit ; 运行上一个脚本时,将获得以下输出: MySQL> -------------- MySQL> SET @separator=',', @delimiter='$' MySQL> -------------- MySQL> MySQL> Query OK, 0 rows affected (0.00 sec) MySQL> MySQL> -------------- MySQL> SELECT MySQL> MY_COALESCE( MySQL> CONCAT_WS(CONCAT(@delimiter,@separator,@delimiter),0,'','banana') MySQL> ,@delimiter MySQL> ) as fruit MySQL> -------------- MySQL> MySQL> +--------+ MySQL> | fruit | MySQL> +--------+ MySQL> | banana | MySQL> +--------+ MySQL> 1 row in set (0.02 sec)
|
4
0
这对我有效:
|
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |