Get a string after a specific substring by length in MySQl and SQL

For MySql

Let us assume a Customers table with a CustomerName Column which contain string of Max Length 200.

//Column data

+-----+---------------------------------------------+
| id  | CustomerName                                |
+-----+---------------------------------------------+
| 1   | Alfreds Futterkiste                         |
| 2   | Ana Trujillo Emparedados y helados          |
| 3   | Antonio Moreno Taquería                     |
| 4   | Around the Horn                             |
| 5   | Berglunds snabbköp                          |
| 6   | Blauer See Delikatessen                     |
| 7   | Blondel père et fils                        |
| 8   | Bólido Comidas preparadas                   |
+-----+---------------------------------------------+
SELECT
  CONCAT (
    SUBSTR(`Customers`.`CustomerName`, 1, 15),
    IF(
      LENGTH(`Customers`.`CustomerName`) > 15,
      '...',
      ''
    )
  ) as `name`
FROM
  `Customers`;
//output

+-----+---------------------------------------------+
| id  | CustomerName                                |
+-----+---------------------------------------------+
| 1   | Alfreds Futterk...                          |
| 2   | Ana Trujillo Em...                          |
| 3   | Antonio Moreno ...                          |
| 4   | Around the Horn                             |
| 5   | Berglunds snabb...                          |
| 6   | Blauer See Deli...                          |
| 7   | Blondel père et...                          |
| 8   | Bólido Comidas ...                          |
+-----+---------------------------------------------+

For Sql Server

Let us assume a Customers table with a CustomerName Column which contain string of Max Length 200.

//Column data

+-----+---------------------------------------------+
| id  | CustomerName                                |
+-----+---------------------------------------------+
| 1   | Alfreds Futterkiste                         |
| 2   | Ana Trujillo Emparedados y helados          |
| 3   | Antonio Moreno Taquería                     |
| 4   | Around the Horn                             |
| 5   | Berglunds snabbköp                          |
| 6   | Blauer See Delikatessen                     |
| 7   | Blondel père et fils                        |
| 8   | Bólido Comidas preparadas                   |
+-----+---------------------------------------------+
SELECT
  SUBSTRING(CustomerName, 1, 15) + (
    CASE WHEN LEN(CustomerName) > 15 THEN '...' ELSE '' END
  )
FROM
  Customers;
//output

+-----+---------------------------------------------+
| id  | CustomerName                                |
+-----+---------------------------------------------+
| 1   | Alfreds Futterk...                          |
| 2   | Ana Trujillo Em...                          |
| 3   | Antonio Moreno ...                          |
| 4   | Around the Horn                             |
| 5   | Berglunds snabb...                          |
| 6   | Blauer See Deli...                          |
| 7   | Blondel père et...                          |
| 8   | Bólido Comidas ...                          |
+-----+---------------------------------------------+

Leave a Reply

Your email address will not be published. Required fields are marked *