我在Informix中将varchar类型转换为Int类型时遇到问题.实际上我不知道该值是否真的是varchar,我想转换为INT.这是一个沙盒系统.
例如:我正试图运行这种方式
Select telnumber from numbers n
where Cast(n.telnumber AS INT) between 1234 and 9999
Run Code Online (Sandbox Code Playgroud)
我收到此错误:"字符到数字转换错误"
如果我像这样运行此查询:
Select telnumber from numbers n where n.telnumber between '1234' and '9999'
Run Code Online (Sandbox Code Playgroud)
它带来了一个结果集,但不在我定义的范围内.
130987
130710
130723
Run Code Online (Sandbox Code Playgroud)
如何将telnumber转换为数值并在1234和9999之间的"之间"使用它
我不使用 Informix,但这在 SQL Server 中对我有用:
SELECT telnumber FROM numbers WHERE Abs(n.telnumber) BETWEEN 1234 AND 9999
Run Code Online (Sandbox Code Playgroud)
但是,您可能会遇到问题,因为电话号码实际上是字符串而不是 INT,并且最终将它们视为 INT 的任何尝试都会失败。
| 归档时间: |
|
| 查看次数: |
40484 次 |
| 最近记录: |