簡體   English   中英

將一列轉換為10位數字

[英]Transforming a column to have 10 Digits

我有一個包含電話號碼的csv文件,其中一些具有9位數字,而其中一些具有10位數字。是否有命令可以轉換列,以便僅具有9位數字的數字前面會附加0的數字。

例如,

如果該列的值為“ 443332332”和“ 0441223332”,我想將9位數字的值更改為“ 0443332332”嗎?

抱歉,我應該詳細說明。

我想知道在SQLlite中是否有容易執行的命令? 我不想使用excel來轉換列,就好像我可以將其用於sqllite一樣,這將變得更加容易和快捷。

更通用的解決方案是:

select substr('0000000000'||'1234567', -10, 10) from table_name;

上面的查詢將始終返回10位數字,並將前導零添加到錯過的數字位數中。

例如,上面的查詢將返回: 0001234567

對於更新,請使用

UPDATE TABLE_NAME SET PHONE_NO = substr('0000000000'|| PHONE_NO, -10, 10);

如果您確定僅對長度為9的字符串加上零,將對您的應用程序有效,那么簡單的方法將起作用:

SELECT CASE WHEN LENGTH(phone_number) = 9 THEN '0'||phone_number
            ELSE phone_number
        END AS phone_number
  FROM your_table
;

您還可以根據需要更新表:

UPDATE your_table
   SET phone_number = '0'||phone_number
 WHERE LENGTH(phone_number) = 9
;
  1. 使用Excel打開.csv,
  2. 將過濾器添加到該列,
  3. 從AZ排序以獲取所有9位數字的列,

然后按照這里的步驟

http://office.microsoft.com/zh-cn/excel-help/keep-leading-zeros-in-number-codes-HA010342581.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM