Abap Native SQL de DateTime ile sorgu
Cevapla
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
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 |
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 |
Başka tabloların sorgu sonuçlarını başka bir tabloyu yaratarak kayıtları içine atmak.
SELECT KAYITNO FROM PNTFSARJ INTO TMPTABLO WHERE CREATEDAT>GETDATE()-30