Я бы хотел привести VARCHAR
к SQL INTEGER
, предоставив значение по умолчанию, если какое-либо значение в поле не будет преобразовано должным образом. Что-то вроде:
sql> SELECT str FROM tbl; -- CREATE TABLE tbl (str VARCHAR(12), ...)
str
========
12345
-1
foo
sql> SELECT CAST((CASE WHEN ... THEN str ELSE '-9999' END) AS INTEGER) AS "int" FROM tbl;
int
========
12345
-1
-9999
Что я мог бы вставить в многоточие выше, чтобы получить желаемые результаты?
Этот вопрос задавался и отвечался на SO для многих конкретных БД, но мне интересно, есть ли более или менее портативный способ для достижения этой цели?