當前位置:首頁 » 編程語言 » sql年齡如何返回數值型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql年齡如何返回數值型

發布時間: 2022-08-04 01:05:01

1. 如何用sql語句把出生日期計算年齡,比如是1984-2-16怎麼算出年齡啊

語句為:SELECT FLOOR(DATEDIFF(CURRENT_DATE,'1984-2-16')/356)

常用sql對資料庫操作:

  1. 連接資料庫命令:mysql -u root -p密碼

  2. 創建資料庫:create database dbname;

  3. 查看所有的資料庫:show databases;

  4. 刪除資料庫:drop database dbname;

  5. 切換資料庫:use dbname;


知識拓展:

MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於Oracle旗下產品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體。

2. 在SQL語句裡面如何將字元型轉換成數字型

將字元的數字轉成數字,比如'0'轉成0可以直接用加法來實現;

例如:將pony表中的d 進行排序,可d的定義為varchar,可以這樣解決;

select * from pony order by (d+0);

在進行ifnull處理時,比如 ifnull(a/b,'0') 這樣就會導致 a/b成了字元串,因此需要把'0'改成0,即可解決此困擾;

比較數字和varchar時,比如a=11,b="11ddddd";

則 select 11="11ddddd"相等;

若絕對比較可以這樣:

select binary 11 =binary "11ddddd";

字元集轉換 : CONVERT(xxx USING gb2312);

類型轉換和SQL Server一樣,就是類型參數有點點不同 : CAST(xxx AS 類型),CONVERT(xxx,類型);

類型必須用下列的類型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、UNSIGNED。

3. SQL語句如何根據出生日期計算年齡

第一種:
一張人員信息表裡有一人生日(Birthday)列,跟據這個列,算出該人員的年齡
datediff(year,birthday,getdate())
例:birthday = '2003-3-8'
getDate()= '2008-7-7'
結果為:5
這樣結果是會返回該人員的大概年齡,但不精確.不會精確到月或日.
按照上面測試的日期,該人員的實際年齡應該還不滿5歲。在需要精確年齡的時候,就會有錯.
第二種:
FLOOR(datediff(DY,birthday,getdate())/365.25)
FLOOR函數:
FLOOR(expr) 返回小於或等於expr的最大整數.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1
這樣就可以精確算出,該人員當前實際年齡了.
測試:
birthday = '2000-7-8'
getdate()= '2007-7-7'
算出結果為:6

在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來。
一種常用的方法是:to_number(to_char(sysdate,'yyyy'))
還有一種更好的方法,那就是使用oracle提供的Extract函數,使用方法是:
extract(year from sysdate) ,此方法獲得的結果是數值型的 ,這種方法省掉了類型轉換,更加簡潔。
相應的,要取得月份或日,可以用extract (month from sysdate) 和extract (day from sysdate)

4. sql中定義年齡用什麼數據類型,長度為多少

sql中定義年齡可以用的用數據類型及長度:

1、char(3):長度為3的字元串。小於10位且長度基本固定的字元串用char。

2、varchar(3):長度為3的字元串。長度大於10的用varchar,varcha在10以內佔用空間比char大。

3、int:長度為4個位元組,存儲從(-2147483648)到(2147483647)。

4、Smallint:長度為2個位元組,存儲從-32768到32767。

5、tinyint:長度為1個位元組,存儲0到255的數字。

(4)sql年齡如何返回數值型擴展閱讀:

sql函數

UCASE(c)將某個域轉換為大寫

LCASE(c)將某個域轉換為小寫

MID(c,start[,end])從某個文本域提取字元

LEN(c)返回某個文本域的長度

INSTR(c,char)返回在某個文本域中指定字元的數值位置

LEFT(c,number_of_char)返回某個被請求的文本域的左側部分

ROUND(c,decimals)對某個數值域進行指定小數位數的四捨五入

5. sql 中怎樣把字元型轉換成數值型

val()

比如 val(「10」)=10

6. 將SQL語句查詢出來的值轉換為數字類型

ANSI規定,在一個表達式中如果有null值,則表達式返回null,
如:1+2+3+null,我們本希望它等於6,結果卻等於null,
解決方法就是用isnull()函數來剔除null值,
如:1+2+3+isnull(變數名,0);

但是,如果表達式中使用了聚合函數,比如sum()函數,則不需要這樣轉換,因為sum()函數會自動剔除null值,
比如以下的語句可以得出正確的值,盡管欄位中有null值.
select 1+2+3+sum(欄位名) from table.

7. sql 怎麼把日期類型的數據轉換成數字類型

用cast函數來進行轉換。先利用cast函數將數字型轉為字元型,再用一次cast函數將字元型轉為日期型。

8. SQL中where 年齡='任意值',年齡欄位等於任意值怎麼表達實現格式一定要where 年齡=

where 年齡=年齡

用參數的寫法:

WHERE
年齡 = CASE WHEN 參數 = '任意值' THEN 年齡 ELSE 參數 END

這樣當 傳入的參數為 '任意值' 的時候, 條件為 年齡=年齡
傳入的參數為 25 的時候, 條件為 年齡=25

不過由於 數據類型的問題, 年齡是 數字型的, 那個 '任意值' 是字元型的
CASE WHEN 參數 = '任意值' THEN 年齡 ELSE 參數 END
可能會出錯

一般是
CASE WHEN 參數 IS NULL THEN 年齡 ELSE 參數 END
這種情況下,如果參數不傳,就是全部。

9. 在sql資料庫裡面知道所有學生的年齡,如何返回出生年份

select datepart(yyyy,getdate())-年齡