国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

oracle轉mysql筆記

2024-07-24 12:59:45
字體:
來源:轉載
供稿:網友
疑問:  Oracle中的date要轉換成MySQL的datetime  oracle的date是可以存儲時分秒的mysql:varchar 是可變長字符串,不預先分配存儲空間,長度不超過5000,如果存儲長度大于此值,定義字段類型為text,獨立出來一張表,用主鍵來對應mysql的存儲過程調用存儲過程 需要CALL test(v_name,v_id);mysql與 oracle中的替換1 Oracle:select sys_guid() from dual;MySQL:SELECT REPLACE(UUID(),'-','') FROM DUAL;因為mysql的UUID()生成的序列中間有'-'需要進行替換一下。2  to_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y-%m-%d');to_date(sysdate,'yyyy-mm-dd')-->STR_TO_DATE(sysdate(),'%Y-%m-%d');mysql: select DATE_FORMAT(STR_TO_DATE(20010101,'%Y%m%d'),'%Y%m')  from dual         SELECT DATE_FORMAT(STR_TO_DATE(201212,'%Y%m%d'),'%Y-%m-%d %H:%i:%s') from DUALoracle: select to_char(to_date(20010101,'yyyy-mm-dd'),'yyyymm')  from dual oracle中的to_number和mysql中的哪個函數功能是一樣或者差不多的?用cast就可,但要填適當的類型,示例:select cast(11 as unsigned int) /*整型*/select cast(11 as decimal(10,2)) /*浮點型*/把字符串轉為日期格式SELECT DATE_FORMAT('2011-09-20 08:30:45',   '%Y-%m-%d %H:%i:%S');把日期轉為字符串格式SELECT DATE_FORMAT(NOW(),   '%Y-%m-%d %H:%i:%S');LPAD(str,len,padstr)返回字符串str,左填充len個字符的長度的字符串padstr。如果str的長度大于len,則返回值被縮短至len個字符。SQL> SELECT LPAD('hi',4,'??');+---------------------------------------------------------+| LPAD('hi',4,'??')                                       |+---------------------------------------------------------+| ??hi                                                    |+---------------------------------------------------------+1 row in set (0.00 sec) 3 sysdate  換成sysdate()4 游標與聲明必須放在begin后面sql 語句中的 (+) 是什么意思?在select語句中(+)指的是外連接,是連接查詢的一種方法。例:select t1.*,t2.* from dept t1,emp t2 where t1.deptno=t2.deptno(+);其中:t1.deptno=t2.deptno(+)代表意思是,即使t2(emp表)中不存在匹配的記錄,在t1(dept表)也查詢出來。(+)就是連接譬如SELECT a.*, b.* from a(+) = b就是一個右連接,等同于select a.*, b.* from a right join bSELECT a.*, b.* from a = b(+)就是一個左連接,等同于select a.*, b.* from a left join b":="是賦值語句 如: l_name :='sky';..."=" 是判斷是否相等. 如: if 1=1 then...":" 是變量綁定 如: if :P_NAME ='sky' then...服務器與客戶端都需要安裝  安裝以后 需要 把服務器的兩個文件拷貝過去  ora什么的2-- 創建用戶CREATE USER username identified BY passWord;-- DBA用戶授權-- DBA: DBA是系統的最高權限,擁有全部特權,只有DBA才可以創建數據庫結構。-- RESOURCE: 擁有Resource權限的用戶只可以創建實體,不可以創建數據庫結構。-- CONNECT: 擁有Connect權限的用戶只可以登錄Oracle,不可以創建數據庫結構,不可以創建實體。grant connect,resource,dba to username;3 oracle dos登錄 sqlplus scott/tiger@jiuhua           dos查看字符集  select userenv('language') from dual;4 oracle 根據久華的oracle下載文檔進行裝配服務器與客戶端    5需要將oracle服務期端的兩個重要文件  拷貝到客戶端端  ora  listenner6   在plsql中的tools中  需要將D:/soft/cilent/PRoduct/11.2.0/client_1和D:/soft/cilent/product/11.2.0/client_1/bin/oci.dll  配置進去 注意是客戶端的之后就可以了7 查看表的數量select count(*) from user_tables;  啟動監聽  啟動監聽:lsnrctl start8  普通用戶 以dba的權限登錄sqlplus scott/tiger as sysdba9  導入數據  imp zc/zc@jiuhua file=d:/zc_20170213.dmp full=y;(字符集社這什么的)10   下午總結一下oracle  (確實左括號的原因是程序寫的有問題,語法沒錯 ,邏輯有錯;存儲過程無法把自己的字段改成自己沒有的字段類型例如無法把varchar(200)改成text在plsql中)VARCHAR2   VARCHAR2 INTEGER    decimal(65,30)number(10)   decimal(10)等價替換      number  decimal(65,30)LONG      longtext11 sql 語句的執行順序 from->table->join->on->where-group by->having>select問題  1 導入的表 都沒有索引 2  表名帶日期是干什么的   不用導(存儲過程生成的 歷史數據測試用的都可以不導 ,主鍵每個表必須有(有) ,索引只改zc開頭的就行)mysql 創建索引(注意沒有單引號)ALTER TABLE `ZC_LSKPXX` ADD INDEX ZC_LSKPXX_ZT(zt);  轉賬 10 執行 一個函數 select GET_LASTBMBH('000215') from dual11 mysql 將兩個查詢到的結果拼在一起    兩個完整的sql語句之間加上 union11 查詢表有多少張  select * from user_tables      查詢有多少個視圖  select view_name  from user_views
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚顺市| 浑源县| 东宁县| 汉源县| 丰台区| 永丰县| 淮阳县| 双江| 泸定县| 南平市| 福海县| 漳平市| 东港市| 开化县| 北海市| 荥经县| 四子王旗| 新宾| 奉贤区| 鄱阳县| 呈贡县| 抚松县| 当阳市| 清水县| 赤水市| 外汇| 深泽县| 承德市| 乌兰察布市| 肥东县| 乌鲁木齐县| 卢湾区| 从化市| 平乡县| 万全县| 新田县| 黄骅市| 汝阳县| 离岛区| 泰来县| 当雄县|