我想类型的变量转换VARCHAR
到INTEGER
,反之亦然(即从INTEGER
类型到VARCHAR
Informix中的4GL).
DEFINE v VARCHAR(20)
DEFINE i INTEGER
LET v = "12345"
LET i = v
DISPLAY "i = ", i, "; v = ", v
LET i = 123456
LET v = i
DISPLAY "i = ", i, "; v = ", v
Run Code Online (Sandbox Code Playgroud)
好吗,对吧?
如果字符串无法转换为数字(运行时错误等),则会遇到问题.
本质上,如果可能的话,I4GL将自动在类型之间进行转换,如果不可能则只生成错误.有些转换是不可能的.例如,我认为您无法将DECIMAL或INTEGER转换为INTERVAL YEAR TO MONTH.