Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak usunąć cyfry z końca ciągu za pomocą SQL?

To wydaje się działać:

select left( concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))

Concat('myvalue', '1') ma chronić przed liczbami kończącymi się na zerach.

Rewers odwraca go tak, aby numer był z przodu.

Konwersja wewnętrzna zamienia odwrócony ciąg na liczbę, upuszczając końcowe znaki.

Konwersja zewnętrzna zamienia część numeryczną z powrotem na znaki, dzięki czemu można uzyskać długość.

Teraz znasz długość części numerycznej i możesz określić liczbę znaków oryginalnej wartości do odcięcia za pomocą funkcji "left()".

Brzydkie, ale działa. :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego MySQL używa niewłaściwego indeksu?

  2. Inicjator typu dla "System.Data.Entity.Migrations.DbMigrationsConfiguration"1" zgłosił wyjątek

  3. Użycie parametrów dla mysql_query

  4. zapytanie sql:jak sprawić, by tagi bez dzieci stały się rodzicami?

  5. Załaduj dane CSV do MySQL w Pythonie