使用變數 Sql 中的變數使用

2021-10-16 09:59:52 字數 1792 閱讀 2627

我們在學 python 或者其他程式語言的時候都應該有學過變數這麼乙個東西,可是 sql 這種查詢語言中怎麼也有變數呢?具體有什麼用呢?

我們來看一下實際應用場景。

現在有這麼乙個表 t ,表結構如下:

order_id

time1

time2

time3

time4

time1 表示瀏覽日期,

time2 表示加購物車日期,

time3 表示下訂單日期,

time4 表示收貨日期。

這四個日期有什麼關係呢?就是都有可能不相等,也有可能都相等,還有可能部分相等。如果我們想要看這四個日期都發生在20190801這一天的訂單應該怎麼看呢?

sql**可以這麼寫:

select

order_id

from

twhere time1 = "2019-08-01"

and time2 = "2019-08-01"

and time3 = "2019-08-01"

and time4 = "2019-08-01"

那如果現在老闆又想要看一下這四個日期都發生在20190808這一天的訂單,該怎麼看呢?很簡單,直接把上面**中的日期改一下就可以了。如果老闆還想別的,也直接改**中的日期就可以,這樣是可以達到目的,但是大家有沒有想過,如果一段**中這種需要改的地方過多,而且**與**不是挨在一塊的時候,這個時候如果手動去查詢並修改的話,很有可能漏掉或改錯。

這個時候變數就該出場了,之前講過,所謂的變數就是乙個變化的量,是乙個容器,在你可能要更改的地方放乙個變數,而不是固定的值,這樣每次你要更改的時候,只需要更改變數的值就可以,其他地方的變數也會跟著一起變,省時又省力,美滋滋。

那我們先來看一下 mysql 資料庫中怎麼設定變數,以下是在 mysql 中設定變數day的幾種寫法:

set @day = "2019-08-01";

set @day := "2019-08-01";

select @day := "2019-08-01";

set @day = "2019-08-01";

select

order_id

from

twhere time1 = @day

and time2 = @day

and time3 = @day

and time4 = @day

這樣每次要什麼日期的資料,只需要改變變數day的值就可以了。

set day = "2019-08-01";

select

order_id

from

twhere time1 = $

and time2 = $

and time3 = $

and time4 = $

以上就是關於 mysql 和 hql 這兩種資料庫中變數的使用方法,變數的用法很常見,也確實很有用,大家一定要熟練掌握。

你還可以看:

sql 的執行順序是怎樣的?

sql 實現資料透視表功能

講講你不知道的視窗函式

講講 group by 的plus版

介紹一下 information_schema 庫

關於 group 的另乙個函式

內連線的兩種方式

sql 中 table變數的使用

sql server 2000 新增了table型資料 table型資料不能用來定義列的型別,只能用作t sql變數或者作為自定義函式的返回值。sql server 2000支援兩種型別的函式 內建函式和使用者定義函式。內建函式只允許t sql 語句呼叫而不能更改使用。使用者定義函式可以根據需要定義...

sql 中 table變數的使用

sql server 2000 新增了table型資料 table型資料不能用來定義列的型別,只能用作t sql變數或者作為自定義函式的返回值。sql server 2000支援兩種型別的函式 內建函式和使用者定義函式。內建函式只允許t sql 語句呼叫而不能更改使用。使用者定義函式可以根據需要定義...

PHP中sql語句如何使用變數

先講下單引號和雙引號的問題 單引號 php會把它裡面的內容當成字串來處理。雙引號 php會根據裡面的值來處理。比如裡面有變數 那麼變數的值就會把變數替換。例子 a hello word echo a echo a 這兩個輸出的結果是不一樣的 第乙個輸出就是 a 第二個輸出hello word 資料庫...