MS SQL kayıtlardaki null char(0) ları silmek

ascii tablosu

Select sonucu dönen bir kolonda ascii 0 yani null var ise ve bunu değiştirmek istiyorsak char , replace fonksiyonları kullanılır.

SELECT TOP 10 SARJKODU,len(sarjkodu) a
,REPLACE(ltrim(rtrim(SARJKODU)) COLLATE Latin1_General_100_BIN, CHAR(0), '') as x
,len(REPLACE(ltrim(rtrim(SARJKODU)) COLLATE Latin1_General_100_BIN, CHAR(0), '')) as y
from [FORMA_URETIM].[dbo].[Table1]
WITH (NOLOCK)
where 
ISNUMERIC(REPLACE(ltrim(rtrim(SARJKODU)) COLLATE Latin1_General_100_BIN, CHAR(0), ''))=1
ORDER BY QUOTENAME(sarjkodu)
SARJKODU a x y
111003 18 111003 6
111002 18 111002 6
111002 18 111002 6
111002 18 111002 6
 18 111 3
 18 111 3
 18 111 3
 19 111 3
111006 18 111006 6
111010 18 111010 6

MS SQL REPLACE fonksiyonu

Replace fonksiyonu ile belirtilen karakterler yerine yeni karakterlerin konulması.

UPDATE [dbo].[Table1] 
SET UBARCODE=REPLACE(UBARCODE,'M','S'), PROJECT='90',QUANTITY=10,
KONTROL=0, BARCODE='C10101210003'
 WHERE UBARCODE IN
 ('0M3AAA00061',
 '0M3AAA00062',
 '0M3AAA00063',
 '0M3AAA00064',
 '0M3AAA00065')

ms-sql: replace fonksiyonu

Select sonucu dönen kayıtlarda belirli bir karakter dizisini belirli başka bir karakter dizisi ile değiştirmek.

SELECT A.WAREHOUSE, A.STOCKPLACE,A.MATERIAL
, REPLACE(A.MATERIAL,'LPA34T','L0PA1T') AS MATERIAL2
, A.BEDEN, A.RENK
FROM PENTI.dbo.VW_STOK AS A
WHERE (A.MATERIAL NOT LIKE 'QC______%')
AND A.MATERIAL LIKE '%LPA34T%';
WAREHOUSE STOCKPLACE MATERIAL MATERIAL2 BEDEN RENK
170 1 LPA34T L0PA1T 125
170 YH015A LPA34TD L0PA1TD 125
180 1 LPA34TB L0PA1TB 125 2065
180 1 LPA34TB L0PA1TB 125 2097
190 DIKIS LPA34TF L0PA1TF 125 2024
190 DIKIS LPA34TF L0PA1TF 125 2028
190 DIKIS LPA34TF L0PA1TF 125 2050
190 DIKIS LPA34TF L0PA1TF 125 02N93