Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng tên bí danh trong một cột khác

Hãy thử đặt phần ít nhất làm lựa chọn phụ. Mà bạn có thể bí danh.

Một cái gì đó như thế này:

SELECT 
  mytable.myWord, 
  myPos.l,
  if (l=999,mytable.myWord,SUBSTR(mytable.myWord,1,l-1)) as NewString
FROM myTable, 
(select myword, LEAST (
    if (Locate('0',myWord) >0,Locate('0',myWord),999),
    if (Locate('1',myWord) >0,Locate('1',myWord),999),
    if (Locate('2',myWord) >0,Locate('2',myWord),999),
    if (Locate('3',myWord) >0,Locate('3',myWord),999),
    if (Locate('4',myWord) >0,Locate('4',myWord),999),
    if (Locate('5',myWord) >0,Locate('5',myWord),999),
    if (Locate('6',myWord) >0,Locate('6',myWord),999),
    if (Locate('7',myWord) >0,Locate('7',myWord),999),
    if (Locate('8',myWord) >0,Locate('8',myWord),999),
    if (Locate('9',myWord) >0,Locate('9',myWord),999)
  ) as l from mytable)
as myPos
where myPos.myword = mytable.myword

Ví dụ về SQLFiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql sử dụng cú pháp đúng cho mệnh đề over

  2. Nhận xét lồng nhau trong PHP và MySQL

  3. Tối ưu hóa truy vấn MySQL - truy vấn bên trong

  4. Truy vấn Mysql trả về id tài nguyên # 8 thay vì giá trị mong muốn

  5. Xóa tất cả các khóa ngoại trong cơ sở dữ liệu (MySql)