de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 jorame
jorame
Question

Bagaimana saya bisa menggunakan Fungsi LEFT &; RIGHT di SQL untuk mendapatkan 3 karakter terakhir?

Saya memiliki bidang Char(15), di bidang ini saya memiliki data di bawah ini:

94342KMR
947JCP
7048MYC

Saya perlu memecah ini, saya perlu mendapatkan 3 karakter KANAN terakhir dan saya perlu mendapatkan apa pun yang ada di KIRI. Masalah saya adalah bahwa kode di KIRI tidak selalu sama panjangnya seperti yang Anda lihat.

Bagaimana saya bisa menyelesaikan ini di SQL?

Terima kasih

15 2013-07-01T16:46:03+00:00 3
 gofr1
gofr1
Pertanyaan edit 3 April 2016 в 11:42
Pemrograman
sql
sql-server
tsql
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
Brad Christie
Brad Christie
1 Juli 2013 в 4:48
2013-07-01T16:48:16+00:00
Lebih
Sumber
Sunting
#19800842
SELECT  RIGHT(RTRIM(column), 3),
        LEFT(column, LEN(column) - 3)
FROM    table

Gunakan RIGHT dengan RTRIM (untuk menghindari komplikasi dengan kolom dengan panjang tetap), dan LEFT ditambah dengan LEN (hanya mengambil apa yang Anda butuhkan, dibebaskan dari 3 karakter terakhir).

jika ada situasi di mana panjangnya adalah 3, maka Anda mungkin harus menggunakan pernyataan CASE sehingga panggilan LEFT tidak menjadi serakah.

Brad Christie
Brad Christie
Jawaban edit 1 Juli 2013 в 4:59
14
0
 Lamak
Lamak
1 Juli 2013 в 4:48
2013-07-01T16:48:24+00:00
Lebih
Sumber
Sunting
#19800843

Anda dapat menggunakan RTRIM atau mengubah nilai Anda ke VARCHAR:

SELECT RIGHT(RTRIM(Field),3), LEFT(Field,LEN(Field)-3)

Atau

SELECT RIGHT(CAST(Field AS VARCHAR(15)),3), LEFT(Field,LEN(Field)-3)
2
0
 Jodrell
Jodrell
1 Juli 2013 в 5:07
2013-07-01T17:07:48+00:00
Lebih
Sumber
Sunting
#19800844

Berikut ini alternatif menggunakan SUBSTRING

SELECT
            SUBSTRING([Field], LEN([Field]) - 2, 3) [Right3],
            SUBSTRING([Field], 0, LEN([Field]) - 2) [TheRest]
    FROM 
            [Fields]

dengan biola

1
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Roxana Elizabeth CASTILLO Avalos
Terdaftar 4 hari yang lalu
2
Hideo Nakagawa
Terdaftar 5 hari yang lalu
3
Sergiy Tytarenko
Terdaftar 6 hari yang lalu
4
shoxrux azadov
Terdaftar 1 minggu yang lalu
5
Koreets Koreytsev
Terdaftar 1 minggu yang lalu
ID
JA
RU
TR
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi