返回作用在连接上的最近查询的列数。该函数的正常使用是在mysql_store_result()返回NULL(因而没有结果集指针)时。在这种情况下,可调用mysql_field_count()来判定mysql_store_result()是否应生成非空结果。这样,客户端就能采取恰当的动作,而无需知道查询是否是SELECT(或类似SELECT的)语句。在这里给出的示例中,演示了完成它的方法。
返回表示结果集中列数的无符号整数。
注意:另一种可选的方法是,用mysql_errno(&mysql)替换mysql_field_count(&mysql)调用。在该情况下,无论语句是否是SELECT,你将直接从mysql_store_result()查找错误,而不是从mysql_field_count()的值进行推断。
1、单列排序SELECT * FROM test1 ORDER BY date_time
默认升序,降序后面接"DESC"即可。
2、多列排序
SELECT * FROM test1 ORDER BY `status`, date_time DESC
首先按`status`字段排序,若`status`相等,则按data_time排序。
3、自定义排序
SELECT * FROM test1 ORDER BY FIELD(`status`, 3, 2, 4, 1, 5), date_time DESC
使用"FIELD()"函数,可指定顺序。
4、其他条件排序
先按大于等于当前时间升序,再按小于当前时间降序,支持分页。
SELECT * FROM test1 ORDER BY date_time <NOW(), IF(date_time <NOW(), 0, date_time), date_time DESC
附加SQL脚本:
CREATE TABLE `test1` (`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`date_time` datetime NOT NULL,
`status` int(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
INSERT INTO `test1` VALUES
(NULL, '测试1', '2018-03-05 11:09:00', 1),(NULL, '测试2', '2018-03-06 11:09:00', 1),(NULL, 'abc', '2018-03-07 11:09:00', 1),
(NULL, 'def', '2018-04-08 11:09:00', 2),(NULL, '李某某', '2018-04-17 11:09:00', 1),(NULL, '饭某某', '2018-04-20 13:09:00', 2),
(NULL, '赵', '2018-04-20 01:09:00', 4),(NULL, '倩', '2018-04-28 11:09:00', 2),(NULL, 'andy', '2018-04-30 11:09:00', 1),
(NULL, 'tony', '2018-05-08 11:09:00', 4),(NULL, 'tom', '2018-05-07 11:09:00', 3),(NULL, 'bill', '2018-05-18 11:09:00', 3),
(NULL, 'james', '2018-06-07 11:09:00', 4),(NULL, 'anthony', '2018-06-18 11:09:00', 2),(NULL, '盖茨', '2018-04-21 11:09:00', 1),
(NULL, '部长', '2018-04-24 11:09:00', 4),(NULL, '李总', '2018-04-20 11:09:00', 5),(NULL, '张总', '2018-04-29 11:09:00', 2),
(NULL, '王总', '2018-04-19 11:09:00', 3),(NULL, '唐总', '2018-05-01 11:09:00', 2)
参考的这篇文档Mysql排序方式
mysql中的去除左空格函数:LTRIM(str)
Returns
the
string
str
with
leading
space
characters
removed.
以下是代码片段:
复制代码
代码如下:
mysql>
SELECT
LTRIM('
barbar')
->
'barbar'
This
function
is
multi-byte
safe.
mysql中的去除右空格函数:
RTRIM(str)
Returns
the
string
str
with
trailing
space
characters
removed.
以下是代码片段:
复制代码
代码如下:
mysql>
SELECT
RTRIM('barbar
')
->
'barbar'
This
function
is
multi-byte
safe.
trim函数可以过滤指定的字符串:
完整格式:TRIM([{BOTH
|
LEADING
|
TRAILING}
[remstr]
FROM]
str)
简化格式:TRIM([remstr
FROM]
str)
Returns
the
string
str
with
all
remstr
prefixes
or
suffixes
removed.
If
none
of
the
specifiers
BOTH,
LEADING,
or
TRAILING
is
given,
BOTH
is
assumed.
remstr
is
optional
and,
if
not
specified,
spaces
are
removed.
以下是代码片段:
复制代码
代码如下:
mysql>
SELECT
TRIM('
bar
')
//默认删除前后空格
->
'bar'
mysql>
SELECT
TRIM(LEADING
','
FROM
',,barxxx')
//删除指定首字符
如',‘
->
'barxxx'
mysql>
SELECT
TRIM(BOTH
','
FROM
',,bar,,,')
//删除指定首尾字符
->
'bar'
mysql>
SELECT
TRIM(TRAILING
','
FROM
'barxxyz,,')
->
'barxxyz'
复制代码
代码如下:
mysql>
UPDATE
table
SET
`field`=TRIM(TRAILING
','
FROM
`FIELD`)
WHERE
WHERE
`FIELD`
LIKE
'%,'
This
function
is
multi-byte
safe.
替换数据库中字段的最后一个分页符
复制代码
代码如下:
UPDATE
[!db.pre!]ecms_news_data_1
SET
`newstext`=TRIM(TRAILING
'[!--empirenews.page--]'
FROM
`newstext`)
WHERE
id=585
SELECT
TRIM(TRAILING
'[!--empirenews.page--]'
FROM
`newstext`)
AS
newstex
FROM
[!db.pre!]ecms_news_data_1
WHERE
id=585
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)