SQL: строка Trim в пробелах и разница между СУБД, SQL и MySQL

Я тренировался в w3schools и использовал таблицу Customers (вы можете выбрать ее с правой стороны). Что касается того, какую СУБД я использую, я не уверен. На сайте говорится: «В нашем учебнике по SQL вы узнаете, как использовать SQL в: MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres и других системах баз данных». - является ли синтаксис между этими СУБД одинаковым или очень похожим?

Я хочу извлечь только первое имя клиентов. Я думал, что это должно сделать трюк:

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

Однако он не работает, но ничего не возвращает. Как и в, он не обрабатывает его, в окне вывода он показывает мне стартовую страницу, поэтому нет сообщения об ошибке. Я действительно не понимаю причину этого, потому что, когда я кладу CHARINDEX сам по себе в SELECT он дает мне ожидаемый результат.

Следующий вопрос состоял бы в том, как я занимаюсь несколькими пробелами (когда у кого-то есть среднее имя), но так как я застрял заранее, я не дошел до этой части.

Всего 2 ответа


SQL

  1. Sql - это язык, используемый для запроса реляционных систем баз данных. Полная форма SQL - это структурированный язык запросов.
  2. Sql походит на обновление, удаление, поиск и т. Д.
  3. sql в основном с использованием концепции многопоточности, где оракул использует многопроцессорный оракул, использующий для обработки больших баз данных, таких как банковское дело и т. д.
  4. Язык Sql используется в оракуле в качестве языка ввода. 5. В SQL-сервере нет управления транзакциями.

MySQL:

  1. MySQL также является инструментом базы данных, который использует язык SQL. Это с открытым исходным кодом.
  2. MySQL слабее в области вставки и удаления данных. Но это отличный выбор для хранения данных и передачи данных.
  3. MySQL - это система управления реляционными базами данных. Вы можете отправлять SQL-запросы в базу данных MySQL для хранения, получения, изменения или удаления данных.
  4. В принципе, MySQL является одной из многих книг, в которых есть все, а SQL - это то, как вы читаете эту книгу.

Система управления базой данных (СУБД):

  1. Система управления базами данных (СУБД) - это компьютерное программное приложение, которое взаимодействует с пользователем, другими приложениями и самой базой данных для сбора и анализа данных.
  2. Система управления базами данных (СУБД) представляет собой набор программ, которые управляют структурой базы данных и контролируют доступ к данным, хранящимся в базе данных.
  3. СУБД включают MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Sybase и IBM DB2.
  4. Иногда СУБД свободно называют базой данных.

Синтаксис между ними очень похож.

Фактически, ваш выбор столбца был неправильным, вы выбирали ContactName по индексу имени клиента, во-вторых, вам не нужно указывать минус его индекс. Это вернет имя клиента.

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

Я замечаю, что вы используете два разных столбца в запросе: ContactName и CustomerName . Это почему?

Я полагаю, что ваш запрос должен работать, если он написан так:

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

Он также должен работать с использованием SUBSTRING следующим образом:

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

Надеюсь это поможет.


Есть идеи?

10000