By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE delete_me( some_char CHAR(8) );
INSERT ALL
INTO delete_me (some_char) VALUES ('1')
INTO delete_me (some_char) VALUES ('2')
INTO delete_me (some_char) VALUES ('4')
INTO delete_me (some_char) VALUES ('5')
INTO delete_me (some_char) VALUES ('abc1')
INTO delete_me (some_char) VALUES (null)
SELECT 1 FROM DUAL;
6 rows affected
SELECT LENGTH(COALESCE(some_char, 'wasNull')) FROM delete_me
LENGTH(COALESCE(SOME_CHAR,'WASNULL')) |
---|
8 |
8 |
8 |
8 |
8 |
7 |
SELECT some_char,
COALESCE(some_char, 'wasNull') AS coalesce_some_char,
CASE
WHEN (some_char BETWEEN '1' AND '5')
THEN 'true'
ELSE 'false'
END AS between_1_5,
CASE
WHEN (COALESCE(some_char, 'wasNull') BETWEEN '1' AND '5')
THEN 'true'
ELSE 'false'
END AS coalesce_between_1_5,
CASE
WHEN (some_char IN ('1', '5'))
THEN 'true'
ELSE 'false'
END AS in_1_5,
CASE
WHEN COALESCE(some_char, 'wasNull') IN ('1', '5')
THEN 'true'
ELSE 'false'
END AS coalesce_in_1_5,
CASE
WHEN (some_char = 'abc1')
THEN 'true'
ELSE 'false'
END AS equals_abc1,
CASE
WHEN (COALESCE(some_char, 'wasNull') = 'abc1')
THEN 'true'
ELSE 'false'
END AS coalesce_equals_abc1
FROM delete_me;
SOME_CHAR | COALESCE_SOME_CHAR | BETWEEN_1_5 | COALESCE_BETWEEN_1_5 | IN_1_5 | COALESCE_IN_1_5 | EQUALS_ABC1 | COALESCE_EQUALS_ABC1 |
---|---|---|---|---|---|---|---|
1 | 1 | true | true | true | false | false | false |
2 | 2 | true | true | false | false | false | false |
4 | 4 | true | true | false | false | false | false |
5 | 5 | true | false | true | false | false | false |
abc1 | abc1 | false | false | false | false | true | false |
null | wasNull | false | false | false | false | false | false |
SELECT some_char,
COALESCE(some_char, 'wasNull') AS coalesce_some_char,
CASE
WHEN (some_char BETWEEN '1' AND '5')
THEN 'true'
ELSE 'false'
END AS between_1_5,
CASE
WHEN (TRIM(COALESCE(some_char, 'wasNull')) BETWEEN '1' AND '5')
THEN 'true'
ELSE 'false'
END AS coalesce_between_1_5,
CASE
WHEN (some_char IN ('1', '5'))
THEN 'true'
ELSE 'false'
END AS in_1_5,
CASE
WHEN TRIM(COALESCE(some_char, 'wasNull')) IN ('1', '5')
THEN 'true'
ELSE 'false'
END AS coalesce_in_1_5,
CASE
WHEN (some_char = 'abc1')
THEN 'true'
ELSE 'false'
END AS equals_abc1,
CASE
WHEN (TRIM(COALESCE(some_char, 'wasNull')) = 'abc1')
THEN 'true'
ELSE 'false'
END AS coalesce_equals_abc1
FROM delete_me;
SOME_CHAR | COALESCE_SOME_CHAR | BETWEEN_1_5 | COALESCE_BETWEEN_1_5 | IN_1_5 | COALESCE_IN_1_5 | EQUALS_ABC1 | COALESCE_EQUALS_ABC1 |
---|---|---|---|---|---|---|---|
1 | 1 | true | true | true | true | false | false |
2 | 2 | true | true | false | false | false | false |
4 | 4 | true | true | false | false | false | false |
5 | 5 | true | true | true | true | false | false |
abc1 | abc1 | false | false | false | false | true | true |
null | wasNull | false | false | false | false | false | false |
CREATE TABLE delete_me2( some_char VARCHAR(8) );
INSERT ALL
INTO delete_me2 (some_char) VALUES ('1')
INTO delete_me2 (some_char) VALUES ('2')
INTO delete_me2 (some_char) VALUES ('4')
INTO delete_me2 (some_char) VALUES ('5')
INTO delete_me2 (some_char) VALUES ('abc1')
INTO delete_me2 (some_char) VALUES (null)
SELECT 1 FROM DUAL;
6 rows affected
SELECT LENGTH(COALESCE(some_char, 'wasNull')) FROM delete_me2
LENGTH(COALESCE(SOME_CHAR,'WASNULL')) |
---|
1 |
1 |
1 |
1 |
4 |
7 |
SELECT some_char,
COALESCE(some_char, 'wasNull') AS coalesce_some_char,
CASE
WHEN (some_char BETWEEN '1' AND '5')
THEN 'true'
ELSE 'false'
END AS between_1_5,
CASE
WHEN (COALESCE(some_char, 'wasNull') BETWEEN '1' AND '5')
THEN 'true'
ELSE 'false'
END AS coalesce_between_1_5,
CASE
WHEN (some_char IN ('1', '5'))
THEN 'true'
ELSE 'false'
END AS in_1_5,
CASE
WHEN COALESCE(some_char, 'wasNull') IN ('1', '5')
THEN 'true'
ELSE 'false'
END AS coalesce_in_1_5,
CASE
WHEN (some_char = 'abc1')
THEN 'true'
ELSE 'false'
END AS equals_abc1,
CASE
WHEN (COALESCE(some_char, 'wasNull') = 'abc1')
THEN 'true'
ELSE 'false'
END AS coalesce_equals_abc1
FROM delete_me2;
SOME_CHAR | COALESCE_SOME_CHAR | BETWEEN_1_5 | COALESCE_BETWEEN_1_5 | IN_1_5 | COALESCE_IN_1_5 | EQUALS_ABC1 | COALESCE_EQUALS_ABC1 |
---|---|---|---|---|---|---|---|
1 | 1 | true | true | true | true | false | false |
2 | 2 | true | true | false | false | false | false |
4 | 4 | true | true | false | false | false | false |
5 | 5 | true | true | true | true | false | false |
abc1 | abc1 | false | false | false | false | true | true |
null | wasNull | false | false | false | false | false | false |