關於sql查詢unix時間戳的問題

時間 2022-03-21 22:40:18

1樓:雲南新華電腦學校

今天在專案中遇到一個問題:一個表中含有多個時間戳的欄位,怎樣在列表顯示出處理過的時間。問了一個大佬,給我的解答方法:

(1)當只有一個時間戳欄位要處理的時候,只需要在查詢的欄位上加上下面的**:

if(create_time>0,from_unixtime(`create_time`,'%y-%m-%d'),'--') as `create_time`

1(2)當含有多個時間戳欄位處理的時候,只需要在查詢的欄位上加上下面的**:

(case when create_time>0 then from_unixtime(`create_time`,'%y-%m-%d') else '--' end) as create_time,

(case when start_time>0 then from_unixtime(`start_time`,'%y-%m-%d') else '--' end) as start_time,

(case when end_time>0 then from_unixtime(`end_time`,'%y-%m-%d') else '--' end) as end_time"

2樓:弭枋澤

select from_unixtime(addtime,'%y-%m-%d %h:%i') as addtime from blanc_project where id='111'

關於sqlserver中的時間戳的問題

3樓:匿名使用者

很簡單,因為 b的型別不是bigint 而是numeric(10,0) 也就是說,convert(timestamp,3867022616) =convert(timestamp,convert(numeric(10,0),3867022616))

sql server 規則無論你int有多長,不超過38位,只要超過int的長度就會變成numeric。所以不會變成bigint,而timestamp是根據型別來的。不同資料型別就算值一樣,轉換成的時間戳就不一樣,如果你想規避這個問題,你b就要改成select convert(timestamp,convert(bigint,3867022616)) b

4樓:匿名使用者

回答第一個問題,因為數字預設不是bigint型別的,如果你加上convert(bigint,3867022616)就一樣了

sql查詢近3天的記錄,求幫忙寫下示範,表中的時間欄位,用的是unix時間戳,請高手幫忙寫個示範

5樓:匿名使用者

select * from table where datediff(d,datefield,getdate())<4

6樓:甫訪波

必要自己判斷,系統有讀取本月天數的函式date('t')。這個要是不對,你砍我!除錯過!

$y=date("y",time());

$m=date("m",time());

$d=date("d",time());

$t0=date('t'); // 本月一共有幾天

$t1=mktime(0,0,0,$m,1,$y); // 建立本月開始時間

$t2=mktime(23,59,59,$m,$t0,$y); // 建立本月結束時間

echo "今天時間\t".date("y-m-d",time())."br

sqlserver中時間戳如何理解?

SQL查詢中關於的問題

你這個似乎是basic吧。basic裡面 是字串連線的運算子,僅僅是個運算子,不是什麼變數!如果 text1.text 的值是 15 那麼 val text1.text 就是 15。因此 adodc1.recordsource select from 書名 where 銷售量 val text1.t...

關於sql語句統計查詢的問題

1全部select t.總編號,select count 結果1 from table1 where 總編號 t.總編號 as 成功記錄數 select count 結果2 from table1 where 總編號 t.總編號 as 失敗記錄數 select count 結果3 from tabl...

SQL連線查詢,sql 連線查詢跟多表查詢的區別

select a.name,substr max sys connect by path b.definition,2 prize from a,b,select rn,prize id,decode rn,1,0,instr prize,1,rn 1 1 sp,decode instr prize...