1. 程式人生 > >oracle: DATE欄位不能只儲存"小時分鐘秒"

oracle: DATE欄位不能只儲存"小時分鐘秒"

做了個小測試:

create table VIPR_AIRPORT_RULE1
(
  AIRLINE           VARCHAR2(2) not null,
  AIRPORT         VARCHAR2(3) not null,
  START_TIME   DATE not null,
  END_TIME       DATE not null,
  NUM                 NUMBER not null
)

嘗試插入資料:

insert into VIPR_AIRPORT_RULE1 values('CA','PEK',to_date('0000','HH24MI'),to_date('0200','HH24MI'),300);

成功,但查詢時:

SQL> select * from vipr_airport_rule1;
 
AIRLINE AIRPORT START_TIME  END_TIME           NUM
----------- -------------- ------------------- ------------------------ ----------
CA         PEK           2012/9/1          2012/9/1 2:            300

會發現還是存入了年日月,所以只能儲存這種形式。但查詢時可只獲取時間(小時分秒數):

SQL> select to_char(end_time,'HH24MISS') from vipr_airport_rule1;
 
TO_CHAR(END_TIME,'HH24MISS')
----------------------------
020000
 

相關推薦

oracle: DATE不能儲存"小時分鐘"

做了個小測試: create table VIPR_AIRPORT_RULE1 (   AIRLINE           VARCHAR2(2) not null,   AIRPORT         VARCHAR2(3) not null,   START_TIME 

(jdbcType)mybatis 查詢Oracle Date型別精確到年月日

用mybatis generator生成程式碼後,執行查詢語句時,oracle裡的Date型別欄位只精確到年月日,後面時分秒都為零。 後來發現是jdbcType問題,改成 jdbcType="TIMESTAMP" 就可以。(原先預設生成時是jdbcType="DATE")

檢視並修改Oracle使用者的密碼【oracle不能檢視dba users裡password儲存密碼的加密過的字串

本文是資料庫版本:9.2.0.5有時候我們可能不知道一個使用者的密碼,但是又需要以這個使用者做一些操作,又不能去修改掉這個使用者的密碼,或者自己乾脆忘記密碼了,想修改自己的密碼,這個時候,就可以利用一些小竅門,來完成操作。具體操作過程如下:SQL*Plus: Release 9.2.0.5.0 - Produ

SQLAlchemy中,操作oracle資料庫date

from sqlalchemy import Columnfrom sqlalchemy.dialects.oracle import   DATE,  NUMBER,   VARCHARfrom sqlalchemy.ext.declarative import decla

java將日期時間字串轉成日期插入到oracledate

將日期時間字元字串轉成日期插入到oracle的date型的欄位裡,  String datestring="2014-02-01 13:23:31";  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH

儲存過程中操作ORACLE CLOB

下面的 儲存過程演示了大資料不能一次插入資料庫的分批插入法,用到了ORACLE CLOB欄位 CREATE OR REPLACE PROCEDURE INSERT_RES_PEOPLE_ADD( r_people_cname          varchar2, r_peo

oracle型別限制

CHAR   ORACLE限制  2000 VARCHAR2   ORACLE限制   4000 LONG          32,767位元組 CLOB

oracle新增,並設定預設值

操作 在plsql下,找到表名,右鍵 -> edit -> columns -> 填寫欄位資訊 -> view sql -> 複製sql -> 點選apply 報錯 ORA-00054: 資源正忙, 但指定以 NOWA

oracle 判斷是否為是數字 regexp like用法 正則表示式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Oracle更改型別

當一個列名(欄位)下有資料的時候無法直接更改列名的型別,這時可以用以下方法: 1、修改原欄位名name為name_tmp alter table tb rename column name to name_tmp; 2、增加一個和原欄位名同名的欄位name alter table t

Oracle常用資料型別/to_char函式

常用欄位資料型別: char 1.表示固定長度的字串 2.列長度可以是1到2000個位元組 varchar2 1.表示可變長度的字串 2.最大長度為4000位元組 char和varchar的區別(主要是資料相容與否的問題): varchar2是oracle提供的獨

ORACLE資料庫型別說明

型別 含義 儲存描述 備註 CHAR 固定長度字串 最大長度2000bytes   VARCHAR2 可變長度的字串,

Oralce給追加字元,以及oracle替換字元

追加字元 update table_name  t set t.DIST_NAME = t.DIST_NAME || '市' where PROD_NAME='愛立信' table_name  :表名   DIST_NAM

oracle查詢是否含有中文

1、 SELECT distinct F_HTZZRQ  FROM HR_USERS_COMMON  WHERE F_HTZZRQ LIKE '%[吖-座]%' 2、首字 SELECT distinct F_HTZZRQ  FROM HR_USERS_COMMO

set unused的用法(ORACLE刪除

set unused的用法(ORACLE刪除欄位) 一、問題 現場有一張大資料量的分割槽表,資料量在10G以上。因某種原因需要刪除其中的某些欄位。如果直接用alter table1 drop (column1,column2);或者alter table1 drop column column1;和alt

Oracle資料庫資料拆分成多行(REGEXP_SUBSTR函式)

做多選功能時為了簡便,會在某個欄位中儲存多個值,儲存時雖然省事,但後續的查詢統計時還需要拆分資料才行,因此這時需要將欄位內的值分成多行以便後續使用。 下面這個例子實現了欄位內資料的拆分: --建立測試表 create table t_test( t_type_id varchar2

oracle排序為null查詢出的值在前和在後

Nulls first和nulls last是Oracle Order by支援的語法 如果Order by 中指定了表示式Nulls first則表示null值的記錄將排在最前(不管是asc 還是 desc) 如果Order by 中指定了表示式Nulls last則表示null值的記錄將排在最後

key+value實現動態儲存設計

一般我們在儲存例如使用者資訊的時候,使用者資訊的各屬性是固定的,這時我們可以通過如下方式設計表: user(user_id, name, age, sex) 但是,如果某天呢,產品說使用者資訊需要加幾個屬性:height、weight。 此時,如果表沒什麼資料當

Oracle 根據值查詢其所在的表、(只有值資訊,連型別都不知道)

今天一哥們求助,oracle的我只知道ziduan欄位的值,連型別,大小設定全都不知道,如何查詢到該欄位所在的表,以及該欄位名。以下是我編寫的實際指令碼: 1.假設該欄位是varchar2或者char型別 DECLARE CURSOR cur_hh IS SELECT tabl

【mybatis】儲存多個值用“,”隔開,如何查詢

目錄 做專案遇到這種情況,欄位中儲存多個值用“,”隔開。這種應該如何查詢呢。 做個簡單的例子: 表: 判斷一個值是否存在其中(FIND_IN_SET) SELECT *