SELECT FROM AS 导致 ORA-01722: 无效号码
Posted
技术标签:
【中文标题】SELECT FROM AS 导致 ORA-01722: 无效号码【英文标题】:SELECT FROM AS resulting in ORA-01722: invalid number 【发布时间】:2017-06-11 12:59:12 【问题描述】:当我尝试运行以下命令时,我在 oracle sql developer 中遇到错误
SELECT VENDOR_CONTACT_LAST_NAME + ', ' + VENDOR_CONTACT_FIRST_NAME AS FULL_NAME
FROM VENDORS
错误是 ORA-01722:无效号码。这两列都是 VARCHAR2(50 BYTE),我的搜索表明尝试将 char 转换为数字可能会出错,但我没有这样做,所以我很困惑,因为语法对我来说是正确的。
【问题讨论】:
【参考方案1】:大概,你的名字不是数字。 Oracle 中字符串连接的正确语法是||
:
SELECT (VENDOR_CONTACT_LAST_NAME || ', ' || VENDOR_CONTACT_FIRST_NAME) AS FULL_NAME
FROM VENDORS;
【讨论】:
谢谢,成功了。我想知道为什么这个页面上没有提到这一点,因为他们确实指出了不同语言存在的差异,就像你可以看到他们展示了它是如何使用 mysql w3schools.com/sql/sql_alias.asp 初学者。数据类型部分涵盖Access, MySQL and SQL Server:显然 W3School 认为这些是学生最有可能使用的数据库。它们在语法方面没有那么明确,但我假设示例目标针对这三个。 有道理,我只是认为他们这样做了,因为我之前看过这个,它确实提到了它并显示了不同的语法w3schools.com/sql/sql_top.asp以上是关于SELECT FROM AS 导致 ORA-01722: 无效号码的主要内容,如果未能解决你的问题,请参考以下文章
db2中可以实现create table A as select * from B吗
CREATE VIEW AS SELECT FROM 检查表是不是存在
oracle中,用create table ... as select * from table_a...语句备份或者其他用途会不会产生归档日志,
lambda表达式中如何在group by 后将查询出的字段象sql一样使用as定义一个名 比如select a as C from b
#1.从学生表中查询所有学生的所有信息SELECT * FROM `student`#2.从学生表查询所有学生的学号姓名信息并分别赋予别名SELECT StudentNo AS ‘学号‘, St