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

sql: SELECT sonucu dönen kayıtlara satır no kolonu eklemek için ROW_NUMBER

Sorgu sonucuna satır no alanı eklemek:

SELECT [URUN]
 ,[MAKINE]
 ,[ONCELIK]
 ,[KOVAN]
 ,[SNO]
 ,ROW_NUMBER() OVER(ORDER BY URUN,MAKINE,ONCELIK) AS KayitNo
 FROM [MACELLAN].[dbo].[PNTFICRONURNALTRMK]
 ORDER BY URUN,MAKINE,ONCELIK
URUN MAKINE ONCELIK KOVAN KayitNo
BCS40K L411/412 1 400 1
BGS45T L12/512 1 400 2
BOHCA1 L411/412 1 400 3
D00NAK HF Super VM 2 400 4
D00NAK L409/416 1 400 5

 

 

 

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