1. 程式人生 > >oracle常用計算需注意細節

oracle常用計算需注意細節

       倆日期之間的相差天數,直接將兩日期相減即可,但是有時候在資料庫中日期儲存格式為date型,而執行計算的時候需要將日期轉換成to_char型別:

to_char(f.SAVEENDTIME,'YYYYMMDD')-to_char(sysdate,'YYYYMMDD')<![CDATA[ < ]]>30)  (使用的ibatis框架,<號在其中需要使用"<![CDATA['   ']]>",將該符號放入其中)

        但此時會有一個問題,當兩個日期之間為不同月份或者不同年份時,即便實際間隔時間小於30也不會被選擇出來,例如20160801和20160729兩個日期,在to_char後相減得到的數字為72,是大於30的,而實際上兩日期間隔不到30 

       在經過我多次在王壽搜尋資料發現有提到將日期轉換成to_date型別,但是使用後會提示資料庫無法判斷是否為合格的日期格式。

       後來多次實驗我發現,先將日期轉換成to_char,之後再轉換成to_date,這時就不會提示資料庫無法判斷的錯誤,也不會出現異月相減無法篩選的問題。

to_date(to_char(f.SAVEENDTIME,'YYYYMMDD'),'YYYYMMDD'-to_date(to_char(sysdate,'YYYYMMDD'),'YYYYMMDD'<![CDATA[ < ]]>30)

獲取資料max值:

當資料型別在資料庫中是varchar型別時,在獲取最大值的時候,char(9)>char(10),此時需要將資料先進行型別轉換再取max值,否則一直最大值為9,如下圖示:


相關推薦

oracle常用計算注意細節

       倆日期之間的相差天數,直接將兩日期相減即可,但是有時候在資料庫中日期儲存格式為date型,而執行計算的時候需要將日期轉換成to_char型別: to_char(f.SAVEENDTIME

面試成功率提高,你只注意這個細節

本文不是面經,只是通過一些細節增加面試的成功率,幫助候選人找到合適的團隊和公司。麵霸跳過此文 首先端正態度,認真對待每一次面試,不要浪費你和別人的時間; 其次,不要覺得低人一等,面試是雙向選擇的,自信很重要。 仔細閱讀JD JD=job desc

計算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+......的值(注意整型變數的範圍)

#include<stdio.h> //***(1)*** //計算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值 int func(int n)//一個數的階乘 { if(n>0) return n*func(n-1); if

oracle使用concat函式時注意

oracle中使用concat,concat只能連線兩個字元,而“||”可以連線多個字元。 如下 用concat時: ①.sql>select concat('aa','bb') from test;      concat('aa','bb')      ----

Oracle DB , 計算各個用戶/schema 的磁盤占用空間

def term ner href pen database col table scott http://www.dba-oracle.com/t_find_size_schema.htm Question: How do I find the size of a s

Oracle計算兩個日期時間的差

weight span num log 方法 bsp round code oracl --方法1 select floor((sysdate - to_date(‘2006-09-01 08:00:00‘, ‘yyyy-mm-dd hh24:m

oracle常用性能

snapshot not temp sta session pie ber des date_time --根據sql查詢具體sql的sql_idselect * from dba_hist_sqltext t where t.sql_text like ‘INSERT A

Oracle 常用腳本整理

mach type bsp trim cas dia flash ins tables 一、統計表所占空間大小(表容量) /*一般情況下,表所占空間分為三部分:表數據、表索引、表blob字段數據*/--1 統計含(blob字段)的單表所占用的空間SELECT TABLE_N

oracle 常用命令

create oracle 表數據 命令 head 常用 bsp insert from 1、復制表數據 INSERT INTO ENTRY_HEAD_2017 SELECT * FROM ENTRY_HEAD 2、表不存在復制表數據

oracle常用函數介紹

ont number bold alt ould mage 常用函數 字符轉換 rom 字符函數 數學函數 日期函數 轉換函數 to_char(數字/日期)是把日期或數字轉換為字符串 將數字轉換成指定格式 to_char(1210.73, ‘9999.9‘)

大數常用計算模板及例題

戰鬥 blog sum 模擬 大數加法 item 兩個 次方 模板 一、模板&例題 【兩個大數相加】 string sum(string s1,string s2) { if(s1.length()<s2.length()) { string tem

oracle 常用sql語句

onu format del 滿足 blank ica end var har 目錄 1)基本 2)數學函數 3)rownum 4)分頁 5)時間處理 6)字符函數 7)to_number 8)聚合函數 9)學生選課 10)圖書館借閱 基本 --新建表: cre

Data Base Oracle 常用命令

改密 ide 角色 sysdba space 存儲 示例 table reat Data Base Oracle 常用命令 1.登錄:(不需要密碼,屬於管理員權限) conn /as sysdba 2.查看數據庫存儲位置: select name from v$d

oracle常用函數詳解(詳細)

sub 最後一天 run -1 fonts ase 必須 顯示 分享 作者:紅旗飄揚 Oracle SQL 提供了用於執行特定操作的專用函數。這些函數大大增強了 SQL 語言的功能。函數可以接受零個或者多個輸入參數,並返回一個輸出結果。 oracle 數據庫中主要使用兩種

oracle 常用函數匯總

一個 顯示 db_name 系統函數 轉化 nbc ble 所有 當前 一、字符函數字符函數是oracle中最常用的函數,我們來看看有哪些字符函數:lower(char):將字符串轉化為小寫的格式。upper(char):將字符串轉化為大寫的格式。length(char):

Oracle常用命令

sql read rom 數據庫版本 lec 數據庫 strong version thread 1、遠程連接數據庫 sqlplus /nologconn sys/[email protected]:1521/orainstance as sysdba 2、查看數

Oracle 常用的單行函數

相同 decode sele 數值函數 負數 spa 數字 日期函數 char 數值函數: 1.round:返回四舍五入後的值 round(數字,參數) 參數不寫默認為0 後面的參數指定了返回值的精度,或者說是從小數點第幾位開始四舍五入,如果不帶後面的參數,則默認為四舍五

Oracle常用函數腦圖

http .com 圖片 class html title ora 常用函數 https 全面的可參考(四)Oracle學習筆記—— 常見函數Oracle常用函數腦圖

Oracle 常用命令筆記(1)

數據庫 oracle 命令說明crsctl start has 啟動數據庫HAS服務。crsctl stat res -t 檢查ASM中的各服務(DG、監聽、ASM實例等)狀態。srvctl status asm 查看ASM實例狀態,正常情況下主備機的ASM實例都應該處於啟動狀態。s

Oracle常用函數

機制 方法 基礎 時間 兩個 height 3.4 示例 處理 字符函數講解在“Oracle基礎查詢”章節中 一、數值函數 1、Round(返回四舍五入後的值 ) 格式:round(x[,y]) x,y,數字型表達式,如果y不為整數則截取y整數部分,如果y>0則四舍