MySQL字串中抽取數值的方法
MySQL的字串函式非常多,以至於有時候我不知道該如何靈活的使用這些函式。
字串基本資訊函式 collation convert,char_length等
加密函式 password(x),encode, aes_encrypt
字串連線函式 concat(x1,x2,….)
修剪函式 trim,ltrim,rtrim
子字串操作函式 substring(x,start,length),mid(x,start,length)
字串複製函式 repeat,space
字串比較函式 strcmp
字串逆序函式 reverse
假設我有如下的需求,比如郵箱註冊賬號,指定賬號是以數字開頭,內容如下:
如果需要把裡面的數字提取出來,有什麼好的辦法呢。
如果使用字串函式,一種方式就是使用正則,或者直接給定條件來做過濾。
比如replace(xxxx,right(xxx))
還有一種思路就是建立一個函式或者儲存過程,通過結構化的方法來做轉換。
如上的幾種方法其實都比較麻煩,還有什麼辦法呢,我就舉一反三,給出兩個來。
第一個解法就是使用字串的資料型別轉換。
比如:
mysql> select cast('[email protected]
+------------------------------------+
| cast('[email protected]' as unsigned) |
+------------------------------------+
| 123456 |
+------------------------------------+
1 row in set, 1 warning (0.00 sec)
我們可以很明顯看到結果和一個警告。
mysql> show warnings;
+---------+------+-----------------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '
+---------+------+-----------------------------------------------------+
1 row in set (0.00 sec)
解法二:
這個解法更簡單,有種鬼斧神工的感覺。
mysql> select -(-'[email protected]');
+----------------------+
| -(-'[email protected]') |
+----------------------+
| 123456 |
+----------------------+
1 row in set, 1 warning (0.00 sec)
如果是前面含有冗餘的數字,也是可以轉換的。
mysql> select -(-'[email protected]');
+--------------------------+
| -(-'[email protected]') |
+--------------------------+
| 12345 |
+--------------------------+
1 row in set, 1 warning (0.00 sec)
大家如果有更好的辦法,歡迎拍磚。
相關推薦
MySQL字串中抽取數值的方法
MySQL的字串函式非常多,以至於有時候我不知道該如何靈活的使用這些函式。字串基本資訊函式 collation convert,char_length等加密函式 password(x),encode, aes_encrypt字串連線函式 concat(x1
Python中去除字串中空格的方法
Python中去除字串中指定字元或者空格的方法有幾種: str.strip() //該方法用於去除字串開頭和結尾的指定字元或字串(預設為空格或換行符) str.lstrip() //該方法用於截掉字串左邊的空格或指定字元 str.rstrip() //該方法用於截掉字串右邊的空格或指定字元
Java 中去除字串中空格的方法
1、方法分類 str.trim(); //去掉首尾空格 str.replace(" ",""); //去除所有空格,包括首尾、中間 str.replaceAll(" ", ""); //去掉所有空格,包括首尾、中間 str.replaceAll(" +
java 對字串中的數值排序
對"34 9 -7 12 67 25"這個字串中的數值從小到大排序! 介紹幾個快捷鍵:for+"alt+/"快速寫一個for迴圈 選中某一個小寫單詞 Ctrl+Shift+x 可變大寫 選中某一個大寫單詞 Ctrl+Shift+y 可變小寫 下面
python去掉字串中空格的方法
1.strip():把頭和尾的空格去掉 2.lstrip():把左邊的空格去掉 3.rstrip():把右邊的空格去掉 4.replace(‘c1’,’c2’):把字串裡的c1替換成c2。故可以用replace(’ ‘,”)來去掉字串裡的所有空格 5
sqlserver,一個自定義函式(提取字串中的數值,包含0-9和‘.’)
GO ALTER FUNCTION [dbo].[clear_num](@s VARCHAR(100)) RETURNs VARCHAR(100) as BEGIN WHILE PATINDEX('%[^0-9.]%', @s)>=1 BEGIN set @s=
C 查詢字元在字串中位置的方法
/***************************************************************************** * @COPYRIGHT NOTICE * @Copyright (c) 2013, ChenM
java 使用TreeSet將字串中的數值進行排序
一、使用類 1、TreeSet類 add(E e) 將指定的元素新增到此 set 2、String類 split(String regex) 根據給定正則表示式的匹配拆分此字串。返回字串陣
C#中三種方法轉換字串變成數值型別
第一種方法:convert.to…的方法 直接看例題就行: 第二種方法: int.parse(string)方法 再舉例: 第三種方法:int
三個獲取瀏覽器URL中參數值的方法
() 遇到 col reg object win 瀏覽器 component 般的 這三個是一般的獲取瀏覽器傳的參數值的方法,之前有用unescape()解碼的方法,但是遇到漢字會產生亂碼,所以用decodeURI(); 方法一: function getQueryStr
已經設置utf8的mysql cmd中插入中文執行報錯解決方法
客戶 res img 說明 設置 -1 bsp 插入 gbk 說明cmd客戶端的字符集是gbk,結果集也要設置為gbk。 使用語句 set character_set_client=gbk; set character_set_results=gbk; 就
Navicat for MySql 輸入中文字符,提示1366錯誤的解決方法
截圖 san 解決 中文字符 clas 解決方法 無法 輸入中文 參考 若表格已經保存了默認的字符集,無法輸入中文字符 此時,選中該表,設計表,選擇要輸入中文字符的列,修改其“字符集”和“排序規則”為截圖所示,即可! 其他方式的錯誤,可參考 https://blog.cs
字元與字串中的'\0', '0', 0;strlen()函式求字串長度計算方法(sizeof()驗證)
如下字元陣列or字串,用strlen函式求長度各是多少? char * p = “abc” 與 char a[] = "abc"兩種形式並不同; char * str1 = "abc"; char * str2 = "ab\
MySQL:字串中的數字、英文字元、漢字提取
原文:https://blog.csdn.net/oyezhou/article/details/81665643 另外一篇類似的:https://blog.csdn.net/haijiege/article/details/79460236 建立一個Num_char_
php 字串中是否包含指定字串的多種方法
編寫程式的時候,經常要處理字串,最基本就是字串的查詢,在php檢測字串中是否包含指定字串可以使用正則,如果你對正則不瞭解,那麼有幾個函式可以為您提供方便。 1. strstr strstr() 函式搜尋一個字串在另一個字串中的第一次出現。 該函式返回字串的其餘部分(從匹配點)。如果未找到所搜
編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。即是這個字串唯一一個存在的字元第一個出現的位置
1.編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。即是這個字串唯一一個存在的字元第一個出現的位置 比如saaaaafss 輸出f saaaaaf 輸出 s public class S1 { public static void main(String args
【JEECG示例文件】使用Kettle從mysql向oracle中抽取資料
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
利用python 將 mysql 資料進行抽取並清理成標準格式後 存入MSSql 資料中
from pymongo import MongoClientfrom pymysql import connectimport pymssqlfrom datetime import datetime, timedeltaimport time Nagios 資料庫的IP 地址 NagiosDB_IP
Python中常用操作字串的函式與方法總結
本文轉載自:https://www.jb51.net/article/79196.htm Python中常用操作字串的函式與方法總結 這篇文章主要介紹了Python中常用操作字串的函式與方法總結,包括字串的格式化輸出與拼接等基礎知識,需要的朋友可以參考下 例如這樣一個字串 Python,
python中的字串以及內建方法
字串的操作方法 + 字串連線操作 str1 = "大金鍊子" str2 = "小手錶" str3 = str1 + str2 print(str3) * 字串複製操作 str1 = "大金鍊子" str2 = "小手錶" str3 = str1*3