数据库中CAST 和 Convert 的用法

来源:互联网 发布:王者荣耀宫本皮肤优化 编辑:程序博客网 时间:2024/06/10 07:59

    今天一上班老大要求我改善我们网站系统的注册机制。之前我们是严格区分大小写的,所以会出现同一个登陆名的各种写法,比如说admin,Admin,aDmin,ADMIN等等。今天他要求我用户可以注册他想要的大小写字母,不过一旦某个用户名被注册了,它的其他形式一律被算为存在的。

 

    因为我之前接触数据库不多,所以想了半天没想出什好方法,最后愚蠢的决定先把全部用户的用户名查询出来赋给一个数组,再把数组值一个字母一个字母的对比。不过很快放弃了这个世纪笑话,开始摸索。就这样在微软MSDN上我看到了CAST的用法。 用CAST来取数据库中的某字段lowercase值,这方法又简单又方便,恨自己没好好学。用法很简单对于我的例子具体用法如下:

 

   

在第5行取用Ajax传来用户要注册的username值,再用第6行的函数转换成小写字母的值。

最后在SQL语句中使用CAST来去数据表中的值与之前的值对比就可以了,如果存在一样字母顺序组成的用户名就返回true,若不存在则反之。

 

 

再举几个例子

 

1, 每个示例都检索列表价格的第一位是 3 的产品的名称,并将 ListPrice 转换为 int

 

 

以下示例将本年度截止到现在的全部销售额 (SalesYTD) 除以佣金百分比 (CommissionPCT),从而得出单列计算结果 (Computed)。在舍入到最接近的整数后,将此结果转换为 int 数据类型。

 

下面是结果集:

 

以下示例使用 CAST 连接非字符型非二进制表达式。

下面是结果集:

 

以下示例将 moneySalesYTD 转换为 int 列,然后再转换为 char(20) 列,以便可以将其用于 LIKE 子句。

下面是结果集:

 

原创粉丝点击