資料庫中CAST 和 Convert 的用法

2021-05-24 05:51:47 字數 847 閱讀 2399

今天一上班老大要求我改善我們**系統的註冊機制。之前我們是嚴格區分大小寫的,所以會出現同乙個登陸名的各種寫法,比如說admin,admin,admin,admin等等。今天他要求我使用者可以註冊他想要的大小寫字母,不過一旦某個使用者名稱被註冊了,它的其他形式一律被算為存在的。

因為我之前接觸資料庫不多,所以想了半天沒想出什好方法,最後愚蠢的決定先把全部使用者的使用者名稱查詢出來賦給乙個陣列,再把陣列值乙個字母乙個字母的對比。不過很快放棄了這個世紀笑話,開始摸索。就這樣在微軟msdn上我看到了cast的用法。 用cast來取資料庫中的某欄位lowercase值,這方法又簡單又方便,恨自己沒好好學。用法很簡單對於我的例子具體用法如下:

在第5行取用ajax傳來使用者要註冊的username值,再用第6行的函式轉換成小寫字母的值。

最後在sql語句中使用cast來去資料表中的值與之前的值對比就可以了,如果存在一樣字母順序組成的使用者名稱就返回true,若不存在則反之。

再舉幾個例子

1, 每個示例都檢索列表**的第一位是 3 的產品的名稱,並將 listprice 轉換為 int 。

以下示例將本年度截止到現在的全部銷售額 (salesytd ) 除以佣金百分比 (commissionpct ),從而得出單列計算結果 (computed )。在捨入到最接近的整數後,將此結果轉換為 int 資料型別。

下面是結果集:

以下示例使用 cast 連線非字元型非二進位制表示式。

下面是結果集:

以下示例將 money 列 salesytd 轉換為 int 列,然後再轉換為 char(20) 列,以便可以將其用於 like 子句。

下面是結果集:

sql型別轉換函式cast和convert

簡介 資料型別轉換可以通過 cast 和convert 函式來實現。大多數情況下,這兩個函式是重疊的,它們反映了 sql語言的演化歷史。這兩個函式的功能相似,不過它們的語法不同。雖然並非 所有型別的值都能轉變為其他資料型別,但總的來說,任何可以轉換的值都可以用簡單的函式實現轉換。語法 cast ex...

Cast函式和操作符 MySql資料庫

binary操作符將後面的字串拋給乙個二進位制字串。這是一種簡單的方式來促使逐字節而不是逐字元的進行列比較。這使得比較區分大小寫,即使該列不被定義為binary或blob。binary也會產生結尾空白,從而更加顯眼。mysql select a a 1 mysql select binary a a...

達夢資料庫CAST與ROUND函式

1.函式cast 語法 cast value as type 功能 將引數 value 轉換為 type 型別返回。型別之間轉換的相容性如下表所示 表中,允許 表示這種語法有效且不受限制,表示語法無效,受限 表示轉換還受到具體引數 值的影響。數值型別為 精確數值型別和近似數值型別。精確數值型別為 n...