[英]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
;
然后按照這里的步驟
http://office.microsoft.com/zh-cn/excel-help/keep-leading-zeros-in-number-codes-HA010342581.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.