『壹』 oracle sql語句,查詢出來的語句要把時間類型轉換為整數型或者字元型, 請老師們看看下面問題詳情
select
casewhento_date(欄位,'yyyy-mm-dd')>sysdate
then'1'
else'2'
endAS欄位別名
from表名;
『貳』 oracle與SQL在使用方法上的區別
許多軟體公司都理解了發展的重要性不依賴於特定的資料庫類型(如Oracle,SQL伺服器,DB2),它允許客戶選擇自己定製的平台的應用程序。一般情況下,軟體開發人員能夠識別他們的客戶負責資料庫維護,並且必須使用現有平台和個性化的客戶。
在Oracle和SQL Server之間的差異,已經有很多從這個角度篇和企業資料庫管理員開始描述兩者之間的一般差異的角度。在這篇文章中,我會向你描述從應用的角度出發的SQL ERVER和Oracle平台之間的差異,並討論幾種可能的方法的發展不依賴於資料庫環境下的應用。與此同時,我也不會就這兩個平台,如分割和索引表之間的明顯差異,應用討論。 ?
定義通用介面和語言是極少數常見的語言和介面允許應用程序不依賴於資料庫,想必也可以用同樣的方法在應用於關系資料庫上:?ANSI是由標准局,這是一個志願者組織成員(由私人資金運行)所定義的美國國家,他們在廣泛的相關設備和程序方面制定了國家認可的標准。在資料庫領域,ANSI定義的標准編寫SQL命令,假設命令可以在任何資料庫中,而不需要改變命令語法運行。 ODBC是開放式資料庫連接微軟,它允許應用程序訪問在使用SQL作為標准數據訪問的資料庫管理系統的數據(DBMS)中定義(ODBC)介面。 ODBC允許最大的連接性,這意味著一個單一的應用程序可以訪問不同的資料庫管理系統。然後,應用程序終端用戶可以添加開放式資料庫連接(ODBC)資料庫驅動程序,以他們所選擇的鏈路上的應用程序和資料庫管理系統。 OLE DB是繼任者的ODBC,例如,是基於一組允許連接到任何類似的SQL伺服器,Oracle,DB2,MySQL和其他背景「前」軟體組件的VB,C + +,Access等在許多情況下,OLE DB ODBC組件比原來提供更好的性能。 JDBC(Java資料庫連接)應用程序編程介面是Java編程語言和廣泛的SQL資料庫和其他表格數據源(如電子表格或純文本文件),它不依賴於行業標準的資料庫連接上的資料庫。 JDBD應用程序編程介面,基於SQL的資料庫訪問提供了調用級應用程序編程介面。在現實世界中常見的介面,遺憾的是,並非所有的資料庫級別的命令都是ANSI,每個資料庫都有自己的平台擴展。為ANSI或通用介面,在一般情況下,代表一小部分的功能,所以它可能意味著競爭力的性能損失。對於小型和小型資料庫應用程序,以保持對資料庫的通用訪問是簡單的,但是當資料庫和/或應用程序變得越來越大,越來越復雜,你必須將功能添加到您的代碼。比較函數使用
SQL Server和Oracle
---------數學函數
1。絕對值
S:選擇ABS(-1)值
○:選擇:選擇ABS(-1)從雙
2取整(大)
S值( - 1.001)上限值為
O:選擇CEIL(-1.001)從雙
價值3舍入(小)
S:選擇地板(-1.001)值
○:選擇地板(-1.001)從雙值
4圓(攔截)
S:。選擇投(-1.002如int)的值
○:從雙
5圓潤
s選擇TRUNC(-1.002)值:。選擇輪(1.23456,4)值1.23460
○:從雙1.2346選擇輪(1.23456,4)值
6。電子為電力
S的結束:請選擇EXP(1)價值2.7182818284590451
○:選擇地契(1)從雙2.71828182
7取對數e為底
S值:選擇日誌(2.7182818284590451)值1 0:從雙選LN(2.7182818284590451)值; 1
8取10。對於對數
S:選擇LOG10(10)值為1
○:從雙選擇日誌(10,10)值; 1
9平方
。 > S:選擇SQUARE(4)價值16
○:選擇雙16
10取平方根
S:。選擇SQRT(4)價值2
O:選擇SQRT(4)從雙2
價值11尋求結束任意數量
S的功率:功率選擇(3,4)的值81 0:選擇電源( 3,4),由雙81
值12取一個隨機數
S:。選擇RAND()值
○:選擇sys.dbms_random。從雙值(0,1)的值;
13對勾
S:。選擇符號(-8)值-1
○:從雙-1
----------相關三角函數
>
14 PI
S:。 SELECT PI()值3.1415926535897931 0:我不知道
15.sin,餘弦,正切參數以弧度
例如:選擇罪(PI()/ 2 )的價值得到1(SQLServer的) 16.Asin,ACOS,阿坦,/> 17弧度角ATAN2返回弧度
<br互換(的SQLServer,Oracle不知道)
角度:弧度 - >角度弧度。角度 - >弧度
之間---------
數值比較
18集求最大
S:SELECT MAX(值)值從
(選擇1值
選擇-2價值
選擇4值
選擇3值)
>
O:從雙
19集的最低要求
S:SELECT MIN(值)從
值(選擇1值 BR />工會
選擇-2價值
選擇4值
選擇3值)
○:至少選擇從雙
20如何處理空值?(F2而非空10)。
S:選擇F1,ISNULL(F2,10)TBL ○:選擇F1,NVL(F2,10)TBL
值------ 。 - 字元串函數
21求字元數
S:選擇ASCII('A')值
○:選擇ASCII('A')值從雙
BR /> 22
S來自序號求字元:。選擇CHAR(97)值
○:從/> 23連接<雙
S:選擇'11'+ '22'+ '33'值
○:選擇CONCAT('11','22')| |從雙
23 。子串的位置 - 返回3
S:選擇CHARINDEX('S','sdsq',2)價值
○:選擇INSTR('sdsq','S',2)值從雙
>
23模糊字元串的位置 - 返回2%的回報率參數去掉中間7
/ / C + + Builder的研究本文轉自 - 的條?ASP I = 996&D = dwn1rn「目標=」_blank「> http://www.ccrun.com/article.aspi=996&d=dwn1rn
S:選擇PATINDEX('%d個%Q%','sdsfasdqe')值
○:甲骨文沒有發現,但第四個參數的instr可以控制出現的次數
選擇INSTR('sdsfasdqe','SD',1,2)從/> 24她的系列
S雙回報6
<br值:。選擇子('ABCD',2,2)的值
○:選擇SUBSTR('ABCD',2,2)從/> 25子雙
<br值,而不是返回aijklmnef
S:。 SELECT STUFF('ABCDEF',2,3,'ijklmn')值
○:選擇替換從雙
26子更換所有
S:。更換
○:選擇翻譯('fasdbfasegas','發','我')從雙
價值27長度
S:。 LEN,DATALENGTH
○:長
28大小寫轉換下限,上限
29字第一個字母大寫
S:......沒找到 0:選擇INITCAP('ABCD DSAF DF')從雙
價值30填補左(空間第一個參數LPAD與空間功能)
S中的空間。選空間(10)+'ABCD'值
○:選擇LPAD('ABCD',14)/> 31右鍵空間雙
<br(空間的第一個參數RPAD與空間價值功能)
S:。選擇'ABCD'+空格(10)值
○:選擇RPAD('ABCD',14)/> 32刪除空格的雙
<br值
S:。 LTRIM,RTRIM
○:LTRIM,RTRIM,修剪
33重復字元串
S:。選擇復制('ABCD',2)價值
○:沒有發現
34的發音相似性比較(同為兩個詞的返回值,發音相同)
S:。 SELECT SOUNDEX('史密斯'),SOUNDEX('斯邁思')
○:從雙
使用SELECT差異('史密瑟斯',SQLServer的SELECT SOUNDEX('史密斯'),SOUNDEX('斯邁思')' Smythers')比較差的同音
返回0-4,4為同音,最大
--------------日期函數
>
35系統時間
S:。選擇GETDATE()值
O:選擇雙
直接前後與整數加減法
37日尋求幾天
S:。選擇轉換(CHAR(10),GETDATE(),20)值
○:選擇TRUNC(SYSDATE)從雙
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD'),由雙值值 BR p> 38求時間
S:。選擇轉換(CHAR(8),GETDATE(),108)值
○:SELECT TO_CHAR(SYSDATE,'HH24:MM:SS')從/> 39日期和時間雙重
<br值採取
S的其餘部分。 DATEPART和DATENAME函數(第一個參數決定)
○:TO_CHAR函數的第二個參數決定
參數--------------------- ------------下表需要補充
一年YY,日
季度的QQ,Q(季度)
一個月毫米,米(m O個無效)
DAYOFYEAR DY,Y(O表星期)
一天DD,D(D 2 O無效)
周周,WW(周無效)
平日DW(O不清楚)
小時的HH,HH12,HH24(HH12,HH24 s無效)
分鍾英里,N(N無效)
第二個SS,S(S 0無效)
毫秒毫秒( 無效)
------------------------------------------- --- /> 40月
S的最後一天
41周(例如星期日)
S的一天雙
<br值:。不知道
○:SELECT NEXT_DAY(SYSDATE,7)vaule FROM DUAL;
42字元串的周轉時間
S:。可以直接轉讓或SELECT CAST('2004-09-08'作為日期時間)值
○:SELECT TO_DATE('2004-01-05 22:09:38','YYYY-MM-DD HH24-MI -SS')vaule FROM DUAL;
43求兩個日期的一部分。可憐的(比如秒)
S:選擇DATEDIFF(SS,GETDATE(),GETDATE()+12.3)值
○:直接減去兩個日期(如D1-D2 = 12.3)
> SELECT(D1-D2)* 24 * 60 * 60 vaule FROM DUAL;基於差新穎性(例如,分鍾)
S
44日。 SELECT DATEADD(英里,8,GETDATE())值
○:SELECT SYSDATE +8/60/24 vaule FROM DUAL;
45個時區尋道時間
S:。不知道
0:SELECT NEW_TIME(SYSDATE,'YDT「,」GMT「)vaule FROM DUAL;
-----時區參數,北京東8區應該是YDT -------
AST ADT大西洋標准時間
BST BDT白令海標准時間
CST CDT中部標准時間
美國東部時間EST東部標准時間
GMT格林威治時間
HST HDT阿拉斯加 - 夏威夷標准時間
MST MDT山區標准時間
NST紐芬蘭標准時間
PST PDT太平洋標准時間
YST YDT YUKON標准時間
>
Oracle支持的字元和它們的功能相當於微軟的SQL Server功能:
功能的Oracle的Microsoft SQL Server
把字元轉換成ASCII碼ASCII碼ASCII碼
字元串連接CONCAT(表達式+表達式)
轉換成ASCII字元CHR CHAR
返回字元的字元串的開頭(左起)INSTR CHARINDEX
字元轉換為小寫LOWER LOWER
轉換字元轉換為大寫左邊LPAD N / A <br上上
填充串/>明確的開始空白LTRIM LTRIM
刪除字元串中的起始模式(模式)的空白RTRIM RTRIM
結束INSTR PATINDEX
重復的字元串RPAD REPLICATE
字元串表示SOUNDEX SOUNDEX
聲音從一個字元串RPAD空間數字數據轉換為字元數據TO_CHAR STR
子串SUBSTR SUBSTRING
REPLACE STUFF
在每個單詞的第一個字母替換字元串大寫INITCAP N / A
翻譯字元串TRANSLATE N / A
字元串長度DATELENGTH或LEN
列表最大的字元串GREATEST N / A
列表最小字元串至少N / A
如果為NULL然後轉換成字元串NVL ISNULL
日期函數功能甲骨文的Microsoft SQL Server
時間總和(日期列+ / - 值)或 ADD_MONTHS DATEADD
差異(日期列+ / - 值)或
MONTHS_BETWEEN DATEDIFF BR />當前日期和時間SYSDATE GETDATE()時當月
LAST_DAY N / A
區轉換NEW_TIME N / A 日期NEXT_DAY N / A後第一個周日的最後一天
表示日期的字元串表示日期TO_CHAR DATENAME
整數TO_NUMBER
(TO_CHAR))DATEPART
日期舍入ROUND CONVERT
截斷TRUNC將
轉換字元串到日期TO_DATE CONVERT
如果為NULL則轉換日期NVL ISNULL
轉換功能
功能的Oracle的Microsoft SQL Server
以數字字元TO_CHAR CONVERT BR />字元轉換為數字TO_NUMBER CONVERT
日期轉換為字元TO_CHAR CONVERT
字元轉換為日期TO_DATE CONVERT
十六進制轉換為二進制HEX_TO_RAW CONVERT
2進制轉換十六進制RAW_TO_HEX CONVERT
其他線路電平功能
功能的Oracle的Microsoft SQL Server
返回第一個非空表達式DECODE COALESCE
根據目前的順序值CURRVAL N / A
一個序列值NEXTVAL N / A
如果EXP1 = EXP2,則返回null DECODE NULLIF
用戶登錄的帳戶ID數字UID SUSER_ID
用戶登錄名USER SUSER_NAME BR />用戶資料庫ID數字UID USER_ID
用戶資料庫名USER USER_NAME
當前用戶CURRENT_USER CURRENT_USER
用戶環境(審計跟蹤)USERENV N / A
水平等級N CONNECT BY子句在/ A
聚合函數功能的Oracle的Microsoft SQL Server
平均平均平均
計數計數計數
最大最大最大最小最小最小
標准差STDDEV STDEV或STDEVP
求和SUM SUM
方差方差VAR或VARP
Oracle有一個有用的功能提取物,提取物和返回日期和時間或間隔表達特定的時間域:
EXTRACT(YEAR FROM日期)
『叄』 SQL里 有沒辦法把一個表中的一列乘以0.8同時取整數
用ROUND函數,ROUND(COL007*0.8,0)這個是四捨五入進位的
如果是向下取整,用floor()
update zzw set col007 = round(col007*0.8,0) ------這個是四捨五入取整
update zzw set col007 = floor(col007*0.8) ------這個是向下取整
『肆』 oracle sql字元串轉數字問題
1.將字元串類型轉換為數字類型。此方法使用tonumber()直接轉換。具體語法是tonumber(STR)。
『伍』 Oracle中如何用SQL把字元串轉換成整型
您可以使用cast函數將數字字元串轉化為整型。
cast函數格式如下:
CAST(欄位名 as int);
拓展資料
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
1986年10月,美國國家標准協會對SQL進行規范後,以此作為關系式資料庫管理系統的標准語言(ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。不過各種通行的資料庫系統在其實踐過程中都對SQL規范作了某些編改和擴充。所以,實際上不同資料庫系統之間的SQL不能完全相互通用。
『陸』 ORACLE資料庫. PL/SQL的時間戳
Oracle
Databse
9i資料庫引入了一種新特性,可以存儲時間戳。時間戳可以存儲世紀、4位年、月、日、時(以24小時格式)、分、秒。與DATE類型相比,時間戳具有以下優點:時間戳可以存儲秒的小數位 時間戳可以存儲時區。下面介紹時間戳類型。 時間戳類型類
型說
明TIMESTAMP[(seconds_precision)]存儲世紀、4位的年、月、日、時(以24小時格式)、分和秒。seconds_precision為可選參數,用於指定精度,該參數為一個整數,范圍從0~9,默認值為9;意思是表示秒的數字的小數點右邊可以存儲9位數字。如果試圖在秒的小數中保存超過TIMESTAMP存儲精度的數字,那麼該小數將被取整TIMESTAMP[(seconds_precision)]WITH
TIME
ZONE擴展TIMESTAMP,用於存儲時區TIMESTAMP[(seconds_precision)]WITH
LOCAL
TIME
ZONE擴展TIMESTAMP,將給定的時間值轉換成資料庫的本地時區。轉換過程稱為時間值的規格化(normalizingv_timestamp
:=
to_timestamp(to_char(sysdate,
'yyyy-mm-dd
hh24:mi:ss'),'yyyy-mm-dd
hh24:mi:ss.ff');
我認為這句話的意思就是把系統時間轉化為時間戳,目的是使時間更精確。
『柒』 sql 取整數
SELECT CEIL(2/7) FROM DUAL;
『捌』 oracle 取整的幾種方法
關於Oracle取整的函數分別有以下幾種:
1.取整(大)
select ceil(-1.001) value from al
2.取整(小)
select floor(-1.001) value from al
3.取整(截取)
select trunc(-1.002) value from al
4.取整(舍入)
select round(-1.001) value from al
『玖』 sql中對某欄位截取前4位後計數
select
d / 100 as 截取前4位後,
count(*) as 各有多少
from
表
group by
d / 100
如果結果中 d / 100 返回了小數, 例如 1234.56
那麼你需要使用一個函數來做 取整的 處理
如果你資料庫是 Oracle 或者 DB2, 那麼
用 TRUNC ( d / 100 ) 替換掉 d / 100
如果你資料庫是 SQL Server
用 ROUND( d / 100 , 0, 1 ) 替換掉 d / 100