【发布时间】:2011-03-12 21:58:44
【问题描述】:
我试图理解这个 Oracle 9i 查询末尾的 +0 是什么意思:
SELECT /*+ INDEX (a CODE_ZIP_CODE_IX) */
a.city,
a.state,
LPAD(a.code,5,0) ZipCode,
b.County_Name CoName,
c.Description RegDesc,
d.Description RegTypeDesc
FROM TBL_CODE_ZIP a,
TBL_CODE_COUNTY b,
TBL_CODE_REGION c,
TBL_CODE_REGION_TYPE d
WHERE a.City = 'LONDONDERRY'
AND a.State = 'NH'
AND lpad(a.Code,5,0) = '03038'
AND a.Region_Type_Code = 1
AND b.County(+) = a.County_Code
AND b.STATE(+) = a.STATE
AND c.Code(+) = a.Region_Code
AND d.Code(+) = a.Region_Type_Code
ORDER BY a.Code +0
有什么想法吗?
注意:我认为这与升序或降序无关,因为我不能在 a.Code 和 +0 之间添加 asc 或 desc,我可以在 +0 之后添加 asc 或 desc
【问题讨论】:
-
是不是通过导致隐式转换来强制a.Code变成数值数据类型?
-
a.Code 被指定为 NUMBER(5)
-
一旦代码布局正确,事情就会变得更加清晰。
-
是的,很抱歉。感谢 Niessner 正确格式化。
标签: sql oracle sorting oracle9i