mysql 過濾純數字 SQL 中判斷 純數字

2021-10-18 06:49:35 字數 590 閱讀 2900

有這樣乙個需求:需要把乙個varchar 型別欄位中所有純數字的行取出來.那麼這個select語句要怎麼寫呢?首先想到的是isnumeric()這個sql函式.sql語句如下:

select *  from view_user  where isnumeric(logid)=1

但是發現這樣的執行結果並不對.因為太長的資料就超出了isnumeric()的判斷範圍,也就是說有部分超出函式運算範圍的的行,沒有select 進去

然後想到用logid not like '%[^0-9]%'去過濾,意思就是所有不包含0-9數字的都排除掉,然後再返回,語句如下:

select *  from view_user  where logid not like '%[^0-9]%'

這下執行結果就全面多了,但是包含進去一些全形數字和全半形混寫的數字.但這個結果已經是我們想要的了,如果不想要全形數字.可以再從結果集中去除.語句如下:

select * from (select *  from view_user  where logid not like '%[^0-9]%' ) as b  where isnumeric(b.logid) = 1

哈哈~~這個才完美.

SQL 取varchar型別欄位中純數字行

有這樣乙個需求 需要把乙個varchar 型別欄位中所有純數字的行取出來.那麼這個select語句要怎麼寫呢?首先想到的是isnumeric 這個sql函式.sql語句如下 select from view user where isnumeric logid 1 但是發現這樣的執行結果並不對.因為...

mysql基礎一(純sql語句)

資料庫知識是每個開發人員必備的技能之一,但是真正花時間去了解的就比較少了,大部分都是視覺化工具,簡單的sql語句,在工作中基本上夠用了,但是如果沒有視覺化工具,你對自己有多少的信心呢?反正我是好多都記不住 乙個完整的建立表的sql我都寫不下來,嗚嗚嗚 這一系列部落格,就簡單介紹下我們傳統的sql語句...

mysql數字輔助表 MySQL中數字輔助表的建立

數字輔助表是乙個只包含從1到n的n個整數的簡單表,n通常非常大 如何建立這樣乙個輔助表 1 我們可以通過下面這個方式建立 mysql create table nums a int unsigned not null primary key engine innodb query ok,0 rows...