【SQL】【思念】請Oracle協助得到孩子的精確年齡(精確到秒)
圖圖(Daining)已經和媽媽回老家省親11天了,非常想念,為表達思念之情,編寫了一個SQL語句,隨時計算他的精確年齡(精度到秒)。
--如果您有興趣,也可以拿去計算一下自己的小孩子的準確年齡,修改一下出生日期就可以了。
1.編寫的SQL語句如下
sec@ora10g> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
Session altered.
sec@ora10g> col "Daining's age:" for a75
sec@ora10g> SELECT 'Hi, My name is Hou Daining. I am Secooler'
2 || ''''
3 || 's son.'
4 || CHR (10)
5 || 'I was born in Beijing on November 11, 2008.'
6 || CHR (10)
7 || 'It is '
8 || SYSDATE
9 || ' o'
10 || ''''
11 || 'clock now.'
12 || CHR (10)
13 || 'So I am '
14 || SUBSTR (dt_from_birth, 7, 4)
15 || ' years '
16 || SUBSTR (dt_from_birth, 12, 2)
17 || ' months '
18 || SUBSTR (dt_from_birth, 22, 2)
19 || ' days '
20 || SUBSTR (dt_from_birth, 25, 2)
21 || ' hours '
22 || SUBSTR (dt_from_birth, 28, 2)
23 || ' minutes '
24 || SUBSTR (dt_from_birth, 31, 2)
25 || ' seconds old.' AS "Daining's age:"
26 FROM (SELECT NUMTOYMINTERVAL (MONTHS_BETWEEN (tutu_now, tutu_birth),
27 'month'
28 )
29 || NUMTODSINTERVAL
30 ( tutu_now
31 - ADD_MONTHS
32 (tutu_birth,
33 TRUNC (MONTHS_BETWEEN (tutu_now,
34 tutu_birth
35 )
36 )
37 ),
38 'day'
39 ) dt_from_birth
40 FROM (SELECT TO_DATE ('2008-11-11 19:20:00',
41 'yyyy-mm-dd hh24:mi:ss'
42 ) tutu_birth,
43 SYSDATE tutu_now
44 FROM DUAL))
45 /
Daining's age:
-------------------------------------------------------------------------
Hi, My name is Hou Daining. I am Secooler's son.
I was born in Beijing on November 11, 2008.
It is 2009-08-22 17:35:04 o'clock now.
So I am 0000 years 09 months 10 days 22 hours 15 minutes 04 seconds old.
2.小結一下SQL語句中用到的一些小技巧
1)使用連線CHR (10)的方式實現語句的換行
2)使用substr函式擷取並定位字串,格式化輸出資訊
3)使用NUMTOYMINTERVAL函式得到年和月的資訊
4)使用NUMTODSINTERVAL函式得到天和時分秒的資訊
5)AS "Daining's age:",此處使用as語句重新命名sqlplus的顯示標題
6)col "Daining's age:" for a75,此處格式化sqlplus每行輸出佔用75列
7)|| '''',此處使用了單引號的轉義處理小技巧
-- The End --
--如果您有興趣,也可以拿去計算一下自己的小孩子的準確年齡,修改一下出生日期就可以了。
1.編寫的SQL語句如下
sec@ora10g> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
Session altered.
sec@ora10g> col "Daining's age:" for a75
sec@ora10g> SELECT 'Hi, My name is Hou Daining. I am Secooler'
2 || ''''
3 || 's son.'
4 || CHR (10)
5 || 'I was born in Beijing on November 11, 2008.'
6 || CHR (10)
7 || 'It is '
8 || SYSDATE
9 || ' o'
10 || ''''
11 || 'clock now.'
12 || CHR (10)
13 || 'So I am '
14 || SUBSTR (dt_from_birth, 7, 4)
15 || ' years '
16 || SUBSTR (dt_from_birth, 12, 2)
17 || ' months '
18 || SUBSTR (dt_from_birth, 22, 2)
19 || ' days '
20 || SUBSTR (dt_from_birth, 25, 2)
21 || ' hours '
22 || SUBSTR (dt_from_birth, 28, 2)
23 || ' minutes '
24 || SUBSTR (dt_from_birth, 31, 2)
25 || ' seconds old.' AS "Daining's age:"
26 FROM (SELECT NUMTOYMINTERVAL (MONTHS_BETWEEN (tutu_now, tutu_birth),
27 'month'
28 )
29 || NUMTODSINTERVAL
30 ( tutu_now
31 - ADD_MONTHS
32 (tutu_birth,
33 TRUNC (MONTHS_BETWEEN (tutu_now,
34 tutu_birth
35 )
36 )
37 ),
38 'day'
39 ) dt_from_birth
40 FROM (SELECT TO_DATE ('2008-11-11 19:20:00',
41 'yyyy-mm-dd hh24:mi:ss'
42 ) tutu_birth,
43 SYSDATE tutu_now
44 FROM DUAL))
45 /
Daining's age:
-------------------------------------------------------------------------
Hi, My name is Hou Daining. I am Secooler's son.
I was born in Beijing on November 11, 2008.
It is 2009-08-22 17:35:04 o'clock now.
So I am 0000 years 09 months 10 days 22 hours 15 minutes 04 seconds old.
2.小結一下SQL語句中用到的一些小技巧
1)使用連線CHR (10)的方式實現語句的換行
2)使用substr函式擷取並定位字串,格式化輸出資訊
3)使用NUMTOYMINTERVAL函式得到年和月的資訊
4)使用NUMTODSINTERVAL函式得到天和時分秒的資訊
5)AS "Daining's age:",此處使用as語句重新命名sqlplus的顯示標題
6)col "Daining's age:" for a75,此處格式化sqlplus每行輸出佔用75列
7)|| '''',此處使用了單引號的轉義處理小技巧
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-612975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Motivation 顯示精確年齡的蘋果電腦屏保蘋果
- JavaScript年月日精確到秒倒數計時JavaScript
- excel身份證號提取年齡公式 身份證號碼提取精確年齡的公式Excel公式
- 工齡怎麼計算excel公式精確到月 如何設定工齡計算公式Excel公式
- oracle 精確查詢和模糊查詢Oracle
- 軟設考點精要,精確到每頁!
- 在MDK用使用精確延時和在IAR中使用精確延時的不同
- jQuery精確到毫秒倒數計時詳解jQuery
- 準確率(Accuracy) 精確率(Prescision) 召回率(Recall)
- 精確率、召回率、準確率與ROC曲線
- 如何快速精確的和leader溝通
- 眾創空間,精確的成本控制
- CAD中的MOVE命令可以幫助大家精確地把物件移動到不同的位置,建議收藏!物件
- Kafka 精確一次語義Kafka
- macOS 上精確輸入引號Mac
- xScope for mac精確度量校準工具Mac
- python中精確的浮點數運算Python
- 如何精確理解leader佈置的任務
- 精準識別!精確定位!AI助力幹細胞培養AI
- springboot許可權設計思路(精確到按鈕級別)Spring Boot
- 關於PHP精確計算模組PHP
- js精確比較浮點數大小JS
- js精確計算浮點數相加JS
- Troubleshooting 專題 - 問正確的問題 得到正確的答案
- Oracle 調優確定存在問題的SQLOracleSQL
- Bailian2732 求自然常數e的近似值(精確到n)【迭代】AI
- MediaCodeC解碼視訊指定幀,迅捷、精確
- kafka的至少一次和精確一次Kafka
- 1.迭代次數對精確度的影響
- C# 定時器 Timer 如何精確到 1-2 毫秒以內C#定時器
- JavaScript浮點數加減乘除精確計算JavaScript
- CRISPR:新技術可精確敲除單鹼基
- Redis 精確去重計數 —— 咆哮點陣圖Redis
- 聯合辦公,服務全面精確度高
- Sentinel併發限流不精確-之責任鏈
- [譯] 簡短而又完全精確的程式語言歷史
- 高精度室內定位 室內精確定位最高精度能達到多少?
- 如何優雅的滿足“精確到抽幾次能中”的遊戲稽核新規遊戲
- 機器學習之分類:精確率和召回率機器學習