找到 4219 篇文章,关于 MySQLi
79 次浏览
MySQL 的 BIT_LENGTH() 字符串函数用于获取字符串的位长度。语法 BIT_LENGTH(Str) 这里 Str 是 BIT_LENGTH() 函数的参数,表示要检索其 BIT_LENGTH 值的字符串。Str 可以是字符字符串或数字字符串。如果是字符字符串,则必须加引号。示例 mysql> Select BIT_LENGTH('New Delhi'); +-------------------------+ | BIT_LENGTH('New Delhi') | +-------------------------+ | 72 | +-------------------------+ 1 row in set (0.00 sec) mysql> select BIT_LENGTH(123456); +--------------------+ | BIT_LENGTH(123456) | +--------------------+ | 48 | +--------------------+ 1 row in set (0.00 sec)
168 次浏览
当 BIN() 字符串函数与 WHERE 子句一起使用时,它返回的结果将取决于 WHERE 子句中给定的条件。在这种情况下,我们必须在 WHERE 子句中使用二进制值。例如,假设我们有一个名为“Student”的表,我们只想获取其中列“id”的二进制值大于 1010 的行,那么我们可以编写以下查询:mysql> Select *, Bin(id) from student where BIN(id) > 1010 ; +------+---------+---------+-----------+---------+ | Id | Name | Address | Subject | Bin(id) | +------+---------+---------+-----------+---------+ | 15 ... 阅读更多
355 次浏览
Last_Insert_Id() MySQL 函数用于找出 AUTO_INCREMENT 最近分配的序列号。示例 mysql> Create table Employee(Id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Name Varchar(5)); Query OK, 0 rows affected (0.13 sec) mysql> Insert into Employee(Name) Values('Harvinder'); Query OK, 1 row affected (0.06 sec) mysql> Insert into Employee(Name) Values('Suresh'); Query OK, 1 row affected (0.07 sec) mysql> Select* from Employee; +----+---------+ | Id | Name | +----+---------+ | 1 |Harvinder| | 2 | Suresh | +----+---------+ 2 rows in set (0.00 sec) mysql> Select Last_insert_id(); +------------------+ | Last_insert_id() | +------------------+ | 2 | +------------------+ 1 row in set (0.00 sec)
293 次浏览
如果启用了 SQL 严格模式,则其中一个为 UNSIGNED 类型的整数值的减法将默认产生无符号结果。但是,如果结果为负数,MySQL 会产生错误。这可以通过以下示例观察到:mysql> SET sql_mode = ''; Query OK, 0 rows affected (0.00 sec) mysql> Select CAST(0 AS UNSIGNED) -1; ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(cast(0 as unsigned) - 1)' 以上查询后的错误表明,这是数值算术表达式溢出后产生的错误。现在,它可以通过…… 阅读更多
76 次浏览
MySQL 精确值算术可以处理在数值表达式评估期间发生的溢出,因为溢出发生取决于操作数的范围。算术表达式中使用的值更改为其他数据类型可以避免溢出。例如,在将 BIGINT 最大值转换为 DECIMAL 时,向其中添加 1 可以处理溢出,如下所示:mysql> Select 9223372036854775807.0 + 1; +---------------------------+ | 9223372036854775807.0 + 1 | +---------------------------+ | 9223372036854775808.0 | +---------------------------+ 1 row in set (0.01 sec)
73 次浏览
众所周知,BIN() 函数在将十进制基数的数字转换为二进制值后,返回该数字的二进制字符串。这样,它可以被认为与 CONV(N, 10, 2) 函数相同。这意味着 CONV(N, 10, 2) 的输出将与 BIN() 函数的输出相同。在 CONV(N, 10, 2) 函数中,“N”是要转换的数字,10 表示 N 的基数(即十进制),2 表示我们要将 N 转换为二进制字符串。示例 下面的示例将演示 BIN() 返回的输出与…… 阅读更多
211 次浏览
MySQL CAST 可以处理在数值表达式评估期间发生的溢出。假设数值表达式评估产生溢出,则 MySQL 会反映一条错误消息。现在,为了处理这种溢出,我们可以使用 CAST 将该数值更改为 UNSIGNED。例如,在向 BIGINT 最大值添加 1 时,MySQL 会由于溢出而产生错误,如下所示:mysql> Select 9223372036854775807 + 1; ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)' 现在,借助 CAST,MySQL 可以处理这种溢出,如下所示:mysql> Select CAST(9223372036854775807 AS UNSIGNED) +1; +------------------------------------------+ | CAST(9223372036854775807 AS UNSIGNED) +1 | +------------------------------------------+ | 9223372036854775808 | +------------------------------------------+ 1 row in set (0.07 sec)
231 次浏览
在这种情况下,CHAR_LENGTH() 函数的输出取决于我们是将 NULL 作为字符串提供,还是只是向其提供 NULL。以下示例将演示其中的区别:mysql> Select CHAR_LENGTH(NULL); +-------------------+ | CHAR_LENGTH(NULL) | +-------------------+ | NULL | +-------------------+ 1 row in set (0.00 sec) mysql> Select CHAR_LENGTH('NULL'); +---------------------+ | CHAR_LENGTH('NULL') | +---------------------+ | 4 | +---------------------+ 1 row in set (0.00 sec) 从上面的结果集可以看出,当我们提供…… 阅读更多
3K+ 次浏览
这两个函数都是字符串函数,并返回字符串中存在的字符数。但是,它们在概念上有所不同,CHAR_LENGTH() 函数以“字符”为单位测量字符串长度,而 LENGTH() 函数以“字节”为单位测量字符串长度。换句话说,我们可以说 CHAR_LENGTH() 函数是多字节安全的,即它忽略字符是单字节还是多字节。例如,如果一个字符串包含四个 2 字节字符,则 LENGTH() 函数将返回 8,而 CHAR_LENGTH() 函数将返回 4。从这个意义上说,我们可以说 CHAR_LENGTH() 比 LENGTH() 函数给出更精确的结果。这种差异尤其…… 阅读更多