如何在oracle查询中获取字符串的前两个字符?

Viv*_*vek 43 sql oracle

假设我在表中有一个OrderNo带有值的列名.AO025631shipment

我试图查询表,以便我只能得到列值的前两个字符即AO.

我可以在SQL查询本身中执行此操作吗?

man*_*nji 76

SUBSTR (文件):

SELECT SUBSTR(OrderNo, 1, 2) As NewColumnName from shipment
Run Code Online (Sandbox Code Playgroud)

选中后,它就像任何其他列一样.您应该为其命名(带有As关键字),并且您可以在同一语句中选择其他列:

SELECT SUBSTR(OrderNo, 1, 2) As NewColumnName, column2, ... from shipment
Run Code Online (Sandbox Code Playgroud)

  • 你能解释1和2是什么吗?是开始和结束指数? (3认同)
  • `SUBSTR` =子串.`Arg1` = columnName,`Arg2`:返回字符串的第一个字符开始的位置.`Arg3`:返回字符串的长度.所以在你的情况下,你想从'AO025631` =>`Arg2 = 1`的begninning开始,你想要2个字符=>`Arg3 = 2`.*请点击我的回复中的链接以获取更多解释* (3认同)

Ton*_*ews 10

select substr(orderno,1,2) from shipment;
Run Code Online (Sandbox Code Playgroud)

您可能也想查看文档.


Dat*_*jam 8

简单:

SELECT SUBSTR(OrderNo, 1, 2) FROM shipment;
Run Code Online (Sandbox Code Playgroud)


tho*_*mas 7

看看这里

SELECT SUBSTR('Take the first four characters', 1, 4) FIRST_FOUR FROM DUAL;
Run Code Online (Sandbox Code Playgroud)


Far*_*ker 6

只需使用SUBSTR功能.它需要3个参数:字符串列名,起始索引和子字符串长度:

select SUBSTR(OrderNo, 1, 2) FROM shipment;
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试从发货中选择substr(orderno,1,2);