意料外的MySQL运算符可获更多数据功能
2007-05-29 10:57:04 来源:WEB开发网核心提示: 在这个例子中,24比25(索引位置4)小,意料外的MySQL运算符可获更多数据功能(4),但是比20(索引位置3)大,因此它的INTERVAL是4,下面就是一个例子:mysql> SELECT DATEDIFF(NOW(), 20060203);+---+| DATEDIFF(NOW
在这个例子中,24比25(索引位置4)小,但是比20(索引位置3)大,因此它的INTERVAL是4。
STRCMP
STRCMP()函数是MySQL里比较字符串的最简单方式之一。这个函数接受两个参数——要被比较的字符串。如果这个两个字符串相同,它就返回0;如果第一个大于第二个,它就返回1;如果第一个小于第二个,它就返回-1。比较的结果完全依赖当前使用时的字符集。下面就是几个例子:
mysql> SELECT STRCMP('hell', 'hell');
+------------------------+
| STRCMP('hell', 'hell') |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.00 sec)mysql> SELECT STRCMP('bell', 'hell');
+------------------------+
| STRCMP('bell', 'hell') |
+------------------------+
| -1 |
+------------------------+
1 row in set (0.00 sec)
REGEXP
要进行更加复杂的字符串比较,REGEXP函数常常要比用滥了的LIKE语句更加强大。这个函数会把一个表达式与一个正则表达式模式进行比较,如果找到匹配的,它就返回布尔值——真。下面是这样一个例子:
mysql> SELECT 'The Matrix' REGEXP '[u-z]$';
+------------------------------+
| 'The Matrix' REGEXP '[u-z]$' |
+------------------------------+
| 1 |
+------------------------------+
1 row in set (0.00 sec)
DATEDIFF
正如其名字所表示的,DATEDIFF()函数是一个快速获得两个日期之间天数的工具。这对于计算到某个事件发生时的天数,或者在给定某人的生日时计算他/她的年龄很有用。
mysql> SELECT DATEDIFF(20060101, 20051201);
+------------------------------+
| DATEDIFF(20060101, 20051201) |
+------------------------------+
| 31 |
+------------------------------+
1 row in set (0.00 sec)
DATEDIFF()通常与NOW()函数一起使用——例如,计算今天到过去或者未来任意一天之间的天数。下面就是一个例子:
mysql> SELECT DATEDIFF(NOW(), 20060203);
+---------------------------+
| DATEDIFF(NOW(), 20060203) |
+---------------------------+
| 176 |
+---------------------------+
1 row in set (0.00 sec)
以上就是本文的内容。要记住的是,你可以在MySQL手册里发现更多关于这些函数的信息。
更多精彩
赞助商链接