Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

cara memperbarui hanya karakter pertama di SQL Server

Mengingat kita tahu nilainya berkisar dari 0 hingga 9999, kueri dapat terlihat seperti:

update MyTable
set No1 = CASE WHEN No1 between 10 and 19     THEN No1 - 10
               WHEN No1 between 100 and 199   THEN No1 - 100
               WHEN No1 between 1000 and 1999 THEN No1 - 1000 END
where No1 between 10 and 19    
   or No1 between 100 and 199  
   or No1 between 1000 and 1999

Jika ini berjalan sangat sering, Anda mungkin perlu melihat penambahan indeks yang sesuai dan seterusnya, tetapi tes cepat menunjukkan itu tidak terlalu buruk.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbaiki:"Pernyataan BACKUP LOG tidak diizinkan saat model pemulihan SEDERHANA" di SQL Server (dan SQL Edge)

  2. Cari Tahu Partisi Mana Nilai yang Diberikan Akan Dipetakan ke dalam SQL Server (T-SQL)

  3. Jumlah minggu dan sebagian minggu antara dua hari dihitung salah

  4. Tidak ada kebuntuan SQL berdasarkan desain - ada pola pengkodean?

  5. Ubah kolom, tambahkan batasan default