SQL:空格处的修剪字符串以及DBMS,SQL和MySQL之间的区别

时间:2018-11-04 06:48:55

标签: sql

我在w3schools上练习并使用“客户”表(可以在右侧选择它)。至于我正在使用哪个DBMS,我不确定。该站点说:“我们的SQL教程将教您如何在以下方面使用SQL:MySQL,SQL Server,MS Access,Oracle,Sybase,Informix,Postgres和其他数据库系统。” -这些DBMS之间的语法是相同还是非常相似?

我只想提取客户的名字。我认为这应该可以解决问题:

SELECT LEFT(ContactName, CHARINDEX(' ',ContactName)-1) 
FROM Customers;

它不起作用,但是什么也不返回。就像它一样,它不会对其进行处理,在输出窗口中,它向我显示了起始页,因此没有错误消息。我并没有真正了解其背后的真正原因,因为当我将CHARINDEX本身放在SELECT语句中时,它给了我预期的结果。

下一个问题将是我如何处理多个空格(当有人使用中间名时),但是由于我事先被卡住了,所以我没有涉及到这一部分。

2 个答案:

答案 0 :(得分:1)

我注意到您在查询中使用了两个不同的列: ContactName CustomerName 。为什么会这样?

我想您的查询应该这样写:

SELECT
  LEFT(ContactName, CHARINDEX(' ', ContactName) - 1) AS FirstName
FROM
  Customers;

它还可以使用SUBSTRING进行工作,如下所示:

SELECT 
  SUBSTRING(ContactName, 1, CHARINDEX(' ', ContactName) - 1) AS FirstName
FROM 
  Customers;

希望这会有所帮助。

答案 1 :(得分:1)

SQL

  
      
  1. Sql是用于查询关系数据库系统的语言。SQL完整形式是结构化查询语言。
  2.   
  3. Sql就像更新,删除,查找等。
  4.   
  5. sql基本上使用多线程概念,其中oracle使用多处理器oracle用于高级数据库处理(如银行业务)   等
  6.   
  7. Sql语言在oracle中用作书写语言。 5。在SQL Server中没有事务控制。
  8.   

MySQL:

  
      
  1. MySQL本身也是一个使用SQL语言的数据库工具。它是开源的。
  2.   
  3. MySQL在插入和删除数据方面较弱。但这是用于数据存储和引用数据的绝佳选择。
  4.   
  5. MySQL是一个关系数据库管理系统。您可以将SQL查询提交到MySQL数据库以存储,检索,修改或删除   数据。
  6.   
  7. 基本上,MySQL是拥有所有内容的众多书籍之一,SQL是您阅读该书籍的方式。
  8.   

数据库管理系统(DBMS):

  
      数据库管理系统(DBMS)是一种计算机软件应用程序,可与用户,其他应用程序以及   数据库本身可以捕获和分析数据。   
  1. 数据库管理系统(DBMS)是程序的集合,这些程序管理数据库结构并控制对数据的访问   存储在数据库中。
  2.   
  3. DBMS包括MySQL,PostgreSQL,Microsoft SQL Server,Oracle,Sybase和IBM DB2。
  4.   
  5. 有时将DBMS宽松地称为数据库。
  6.   

它们之间的语法非常相似。

实际上,您选择的列是错误的,您通过客户名称索引选择了ContactName,然后您不需要减去其索引。这将返回客户的名字。

SELECT LEFT(ContactName, CHARINDEX(' ',ContactName)) 
FROM Customers;