oracle中字元型欄位按數字排序
今天在轉換資料時,遇到了一個主鍵排序的問題。字元型的主鍵,儲存的都是數字,資料導過來以後發現數據排序都是亂的,就想著按數字規則排序。
但發現to_number總是報錯,就想著裡面應該是有字元存在。後來使用了正則關係式,問題解決。
以下是正則關係式的兩種用法,記錄下來。
select * from xtyhxx order by to_number(translate(yhid, '0123456789.' || yhid, '0123456789.')) asc nulls last
select * from xtyhxx order by to_number(regexp_substr(yhid,'[0-9]*[0-9]',1))
相關推薦
oracle中字元型欄位按數字排序
今天在轉換資料時,遇到了一個主鍵排序的問題。字元型的主鍵,儲存的都是數字,資料導過來以後發現數據排序都是亂的,就想著按數字規則排序。 但發現to_number總是報錯,就想著裡面應該是有字元存在。後來使用了正則關係式,問題解決。 以下是正則關係式的兩種用法,記錄下來。 se
查詢Oracle中帶有Clob欄位的表的大小
在oracle裡面,由於lob欄位有獨立的lob segment來儲存,所以查詢需要DBA_SEGMENTS S, DBA_INDEXES 2張表結合才可查出結果。 以下是實驗SQL說明: 表名:GJ_NORM_POOL 表歸屬使用者名稱:ORACLE
在oracle中為shape欄位新增索引
表名為oscline,shape欄位的格式為sdo_geometry INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) VALUES ('OSCLINE', 'shape', &nb
oracle 將Number型欄位轉為時間型別 將毫秒轉為時間型別
將number型別轉成日期型別:如將毫秒轉日期 SELECT TO_CHAR(欄位名 / (1000 * 60 * 60 * 24) + TO_DATE(‘1970-01-01 08:00:00’, ‘YYYY-MM-DD HH24:MI:SS’), ‘YYY
Oracle中varchar2型別欄位長度限制使用問題
為紀念中華人民共和國建軍90週年,特此一篇,以此紀念,我軍威武!!!一、問題背景專案中商品釋出,卻沒有儲存成功。二、問題定位初步判斷向資料庫中儲存時出現了錯誤,檢視日誌檔案,由於日誌檔案過大就採用grep進行搜尋(再一次說明grep 的強大)其中 “ReserveProductService.update”
Oracle中怎麼檢查 欄位中 是否包含 ' 單引號
1、用chr函式,找到單引號的assciiSQL> select * from test1 where description like '%'||chr(39)||'%'; ID DESCRIPTION----------- ------------
Oracle中查詢某欄位不為空或者為空的SQL語句怎麼寫
比如 insert into table a (a1,b1)values("a1",''); 對於這種情況,因為表裡存的是”,其實是沒有內容的,要查詢這個欄位,不能直接使用 select * from a where b1=''; sql中判斷非
MYSQL中讓UTF-8編碼的欄位按拼音排序
原文地址:http://carvin.iteye.com/blog/810867 在mysql中使用預設字符集為utf8,結果想要把中文按拼音排序出現了問題,排出來的順序亂七八糟,不是我們想要的結果。 解決辦法如下: 1、不想改變表定義及預設編碼的
設定oracle中的blob欄位,將xml檔案寫入到資料庫中
http://hi.baidu.com/net1979/blog/item/1829e14ee7d26c0db2de0569.html可以將二進位制大物件 (BLOB) 作為二進位制或字元資料寫入資料庫,具體視資料來源的
oracle中去掉資料庫欄位中的換行符、回車符、製表符小結
在專案上線後,使用者使用過程中,發現根據物資編碼條件查詢時,資料庫中沒有對應資料,根據分析後,最終確認為資料庫的換行符問題,下面就oracle中去掉資料庫欄位中的換行符、回車符、製表符做小結: 一、特殊符號ascii定義:
【sumcol】SQL中同記錄欄位求和並排序
在mysql資料庫中有一張人物表t_character,欄位名及資料如下: 現在有一個需求,需要查詢出攻擊力與防禦力之和排名前三的人物,並按其速度從大到小排序。 難點在於同一條記錄中的不同欄位求和排序,這裡用到一個mysql中不常用的函式sumcol: select * from
Lucene 7.x中根據Field欄位值進行排序的小例子
Lucene 7中對DocValues系列的API做了一些改動 本帖就是說明一下API的變化 本帖的例子是將一些圖書資訊寫入索引 然後搜尋的時候按照圖書出版時間的倒敘排序 先來看寫入文件的程式碼: Directory dir=FSDirectory.open
oracle,查詢某個欄位中,某字元出現的次數
SELECT LENGTHB(TRANSLATE('1,2,34,5',',12345',',')) FROM DUAL;SELECT LENGTHB('1,2,34,5')-LENGTHB(REPL
(ORACLE)sql判斷一個欄位是否全數字 或含有中文及統計某個欄位中中文的個數
一、判斷一個欄位是否全數字 或含有中文update (select length(t.name), t.* -- name,length(name) from g_enterprise_info t where nvl2(tran
Mysql中對字串型別的欄位進行數字值排序
ORDER BY `meta_value` 那麼按得分排序得到的結果可能是: 1 10 11 123 1234 2 25 253 3 由於是按字母順序排列,所以123排在了2的前面,顯然不符合我們的要求,那麼怎樣才能按照我們預想的數字順序
Oracle 將一個表中幾個欄位更新到另一個表中
UPDATE TEST_TABLE1 T1 SET (T1.AA, T1.BB, T1.CC) =  
Oracle、Mysql、Sqlserver資料庫中查詢表中所有的欄位
有時候,我們需要獲取資料庫中一個表裡所有的欄位。對此,我進行了一些總結。 1.Mysql資料庫 select GROUP_CONCAT(COLUMN_NAME) from information_schema.COLUMNS where table_name = '表名' and table
oracle如何去除某個欄位中的空格?
1. trim(字串):刪除字串兩邊的空格; 2. ltrim(字串):刪除字串左邊的空格; 3. rtrim(字串):刪除字串右邊的空格; 4. trim('字串1' from '字串2') :分別從字串2的兩邊開始,刪除指定的字元1; 5. trim([leading |
oracle中,把一個表中指定的欄位資料更新到另外一張表裡面
一、建立表結構 create table test1( id varchar2(10) , val varchar2(20), name varchar2(20)); create table test2( id varchar2(10), val varchar2(20) ,
mysql 整型 字元型 列舉型欄位操作
· BIT[(M)] 位欄位型別。M表示每個值的位數,範圍為從1到64。如果M被省略, 預設為1。 · TINYINT[(M)] [UNSIGNED] [ZEROFILL] 很小的整數。帶符號的範圍是-128到127。無符號的範圍是0到255。 · BOOL,BOOLEAN