找到关于数据库的6705 篇文章

我们如何更改解析器用于解析内置函数名称的默认规则?

Rishi Raj
更新于 2020年6月22日 05:52:04

88 次浏览

解析器用于解析内置函数名称的默认规则可以通过启用 IGNORE_SPACE SQL 模式来更改。启用此模式后,解析器会放松对函数名称和后面的括号之间不允许有空格的要求。例如,启用IGNORE_SPACE SQL模式后,以下两个函数调用都是合法的:Select SUM(Salary) from employee; Select SUM (Salary) from employee;但是,在这种情况下,解析器将函数名称视为保留字。这意味着函数名后面的空格不再表示标识符。

如何在存储过程中使用 MySQL IF 语句?

Ramu Prasad
更新于 2020年6月22日 05:51:19

427 次浏览

MySQL IF 语句在存储过程中实现了一个基本的条件结构。其语法如下:IF expression THEN Statements; END IF;它必须以分号结尾。为了演示如何在 MySQL 存储过程中使用 IF 语句,我们创建了以下存储过程,该过程基于名为“student_info”的表的值,如下所示:mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | ... 阅读更多

解析器用于解析内置函数名称的默认规则是什么?

Monica Mona
更新于 2020年6月22日 05:53:23

115 次浏览

实际上,当解析器遇到一个内置函数名称的单词时,它必须确定该名称是表示函数调用,还是表示对标识符(例如表名或列名)的非表达式引用。考虑以下查询:1. Select sum(salary) from employee; 2. Create table sum (i int);在第一个查询中,SUM 是对函数调用的引用,在第二个查询中,它是对表名的引用。解析器遵循以下规则来区分其名称是在函数调用中使用还是在非引用上下文中作为标识符使用:规则1 ... 阅读更多

如果 MySQL SUBSTRING_INDEX() 函数中的参数“count”的值大于分隔符的总出现次数会发生什么?

Ayyan
更新于 2020年6月22日 05:54:07

142 次浏览

如果参数“count”的值大于分隔符的总出现次数,MySQL SUBSTRING_INDEX() 函数将返回与输出相同的字符串。可以用以下示例演示:mysql> Select SUBSTRING_INDEX('My Name is Ram','a',3); +-----------------------------------------+ | SUBSTRING_INDEX('My Name is Ram','a',3) | +-----------------------------------------+ | My Name is Ram | +-----------------------------------------+ 1 row in set (0.00 sec)上述查询返回相同的字符串,因为 3 大于作为参数提供的分隔符“a”的总出现次数。字符串中只有两个“a”。

如何在 MySQL 存储过程中使用用户变量?

usharani
更新于 2020年6月22日 05:54:47

202 次浏览

在 MySQL 存储过程中,用户变量用一个与号“@”引用,作为用户变量名的前缀。例如,@A、@B 等是用户变量。为了演示这一点,我们创建了以下过程:mysql> DELIMITER // ; mysql> CREATE PROCEDURE Proc_Uservariables() -> BEGIN -> SET @A = 100; -> SET @B = 500; -> SELECT @A,@B,@A+@B; -> END // Query OK, 0 rows affected (0.00 sec) mysql> Delimiter ; // mysql> CALL Proc_Uservariables(); +------+------+-------+ | @A | @B | @A+@B | +------+------+-------+ | 100 | 500 | 600 | +------+------+-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)

如何将位值作为数字赋给用户变量?

Chandu yadav
更新于 2020年6月22日 05:35:55

311 次浏览

众所周知,赋给用户变量的位值的默认类型是二进制字符串,但我们也可以使用以下两种方法将位值赋给数字:使用 CAST() 函数使用 CAST(… AS UNSIGNED),可以将位值赋给一个数字。以下示例将对此进行说明:mysql> SET @abc = CAST(0b1000011 AS UNSIGNED); Query OK, 0 rows affected (0.00 sec) mysql> Select @abc; +------+ | @abc | +------+ | 67 | +------+ 1 row in set (0.00 sec)通过添加 0(+0)位值可以赋给… 阅读更多

赋给用户变量的位值的默认类型是什么?

Arushi
更新于 2020年6月22日 05:39:42

113 次浏览

默认情况下,赋给用户变量的位值是二进制字符串。可以通过将位值赋给用户变量,然后检索它们来说明这一点:mysql> SET @abc = 0b1000011; Query OK, 0 rows affected (0.00 sec) mysql> Select @abc; +------+ | @abc | +------+ | C | +------+ 1 row in set (0.00 sec)上述结果集显示,赋给用户变量的位值的默认类型是二进制字符串。

如何以可打印的形式显示 MySQL 位值?

Anjana
更新于 2020年6月22日 05:39:10

66 次浏览

实际上,位值作为二进制值返回,但我们也可以在以下帮助下以可打印的形式显示它们:通过添加 0我们可以通过向位值添加 0 来以可打印的形式显示它们。来自 bit_testing 表的以下示例可以用来理解它:mysql> Select bittest+0 from bit_testing; +-----------+ | bittest+0 | +-----------+ | 170 | | 5 | | 5 | +-----------+ 3 rows in set (0.00 sec)使用转换函数 BIN()、OCT()、HEX()我们还可以显示位值… 阅读更多

在 MySQL 中,什么是位域表示法,如何使用它来编写位域值?

Sharon Christine
更新于 2020年6月22日 05:41:38

323 次浏览

位域表示法是一种表示法,借助这种表示法,我们可以编写位域值。位域表示法的语法如下:语法b'value' OR 0bvalue这里,value 是使用零和一编写的二进制值。主要的位域表示法对于指定要赋给 MySQL 表的 BIT 列的值非常方便。以下示例将演示它:mysql> Create table bit_testing (bittest BIT(8)); Query OK, 0 rows affected (1.09 sec) mysql> INSERT INTO bit_testing SET bittest = b'10101010'; Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO bit_testing SET bittest = b'0101'; Query ... 阅读更多

如何在 MySQL 存储过程中使用局部变量?

varun
更新于 2020年6月22日 05:33:29

376 次浏览

局部变量是在存储过程中声明的变量。它们仅在其声明的BEGIN…END块内有效,并且可以具有任何SQL数据类型。为了演示这一点,我们创建以下过程:
mysql> DELIMITER // ;
mysql> Create Procedure Proc_Localvariables()
  -> BEGIN
  -> DECLARE X INT DEFAULT 100;
  -> DECLARE Y INT;
  -> DECLARE Z INT;
  -> DECLARE A INT;
  -> SET Y = 250;
  -> SET Z = 200;
  -> SET A = X+Y+Z;
  -> SELECT X, Y, Z, A;
  -> ... 阅读更多

广告