Query

sql - 從位置值中提取特定數字

  • November 1, 2018

我想知道是否可以使用 SQL 提取數字中特定位置值的數字。

例如,數字 7654321 儲存在數據庫中。我想提取千位的數字,在本例中為 4。

提前感謝您的建議!

你沒有說你正在使用什麼 RDBMS。

如果你可以做 SQL Server

SELECT (7654321/1000)%10

用整數除法除以 1000 得到7654然後計算模 10。

儘管確切的語法可能會有所不同,但在所有 DBMS 中都應該有類似的東西。例如,可能像

SELECT MOD(TRUNC(7654321/1000),10) 
FROM DUAL;

我假設您使用的是 SQL Server!你可以試試這個:

select(
   LEFT(
       (RIGHT(7654321, len(7654321) - 3)), 
           len((RIGHT(7654321, len(7654321) - 3)) )- 3)
   )

首先,我從左邊刪除了 3 位數字(7654321 –> 4321),然後從右邊刪除了 3 位數字(4321 –> 4)。如果你覺得這個方法很難,你可以試試這個:

select  (LEFT(7654321, len(7654321) - 3) %10)

高溫高壓

引用自:https://dba.stackexchange.com/questions/138925