可移植(portable)
所编写的代码可以在多个系统上运行。
为了代码的可移植,许多SQL程序员不赞成使用特定于实现的功能。虽然这样做很有好处,但有的时候并不利于应用程序的性能。如果不使用这些函数,编写某些应用程序代码会很艰难。必须利用其他方法来实现DBMS可以非常有效完成的工作。
提示:是否应该使用函数?
现在,你面临是否应该使用函数的选择。决定权在你,使用或是不使用也没有对错之分。如果你决定使用函数,应该保证做好代码注释,以便以后你(或其他人)能确切地知道所编写的SQL代码的含义。
1 文本处理函数
RTRIM()函数来去除列值右边的空格
UPPER()函数:
SELECT vend_name,UPPER(vend_name)AS vend_name_upcase
FROM Vendors
ORDER BY vend_name;
SOUNDEX()函数进行搜索,它匹配所有发音类似于Michael Green的联系名:
SELECT cust_name,cust_contact
FROMCustomers
WHERE SOUNDEX(cust_contact)=SOUNDEX('Michael Green');
日期和时间处理函数
可移植性最差。
SELECT order_num
FROMOrders
WHERE DATEPART(yy,order_date)=2012;
完成相同工作的另一方法是使用BETWEEN操作符:
SELECT order_num
FROMOrders
WHERE order_date BETWEEN to_date('01-01-2012')AND to_date('12-31-2012');