假設我在表shipment
中有一個名稱爲OrderNo
的值爲AO025631
。如何在oracle查詢中獲取字符串的前兩個字符?
我想查詢表格,以便我只能得到列值的前兩個字符,即AO
。
我可以在SQL查詢本身執行此操作嗎?
假設我在表shipment
中有一個名稱爲OrderNo
的值爲AO025631
。如何在oracle查詢中獲取字符串的前兩個字符?
我想查詢表格,以便我只能得到列值的前兩個字符,即AO
。
我可以在SQL查詢本身執行此操作嗎?
SUBSTR(documentation):
SELECT SUBSTR(OrderNo, 1, 2) As NewColumnName from shipment
選擇時,它像任何其他列。你應該給它一個名稱(與As
關鍵字),並且可以在同一個語句選擇其他列:
SELECT SUBSTR(OrderNo, 1, 2) As NewColumnName, column2, ... from shipment
select substr(orderno,1,2) from shipment;
你可能想看看在documentation了。
容易:
SELECT SUBSTR(OrderNo, 1, 2) FROM shipment;
看一看從裝運here
SELECT SUBSTR('Take the first four characters', 1, 4) FIRST_FOUR FROM DUAL;
嘗試選擇SUBSTR(orderno,1,2);
只需使用SUBSTR函數。它需要3個參數:字符串列名,起始索引和子串長度:
select SUBSTR(OrderNo, 1, 2) FROM shipment;
你能解釋什麼是1和2嗎?它是開始和結束索引? – Vivek 2011-06-03 09:46:18
第二個參數是起始索引,它是1(即1是第一個字符,2是第二個)。第三個參數是來自該索引的子串的字符數,在你的情況下,你需要前兩個。 – Datajam 2011-06-03 09:49:16
'SUBSTR' =子串。 'Arg1' = columnName,'Arg2':返回字符串的第一個字符開始的位置。 'Arg3':返回字符串的長度。因此,對於你的情況,你想從'AO025631' =>'Arg2 = 1'的開始,你想要2個字符=>'Arg3 = 2'。 *請按照我的回覆中的鏈接獲取更多解釋* – manji 2011-06-03 09:50:30