Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)

  • Reply To: convert number into words

    DECLARE @AMOUNT AS MONEY =1254125.65

    DECLARE @STR_AMOUNT AS VARCHAR(MAX) =CONVERT(VARCHAR(MAX), @AMOUNT);

    DECLARE @PREFIX AS VARCHAR(MAX)= ''

    DECLARE @SUFIX AS VARCHAR(MAX)=''

    DECLARE @NUM_WORD AS VARCHAR(MAX)=''

    DECLARE @NUM_WORD_DECIMALS AS VARCHAR(MAX)=''

    SELECT @PREFIX= SUBSTRING(@STR_AMOUNT,1, IIF(@STR_AMOUNT LIKE '%.%', PATINDEX('%.%',@STR_AMOUNT)-1,LEN(@STR_AMOUNT)) )

    SELECT @SUFIX= SUBSTRING(@STR_AMOUNT,IIF(@STR_AMOUNT LIKE '%.%', PATINDEX('%.%',@STR_AMOUNT)+1,LEN(@STR_AMOUNT)),LEN(@STR_AMOUNT))

    ;WITH NUM_WRD AS

    (

    SELECT  1 AS NUM, 'ONE' AS WRD UNION SELECT 2,'TWO' UNION SELECT 3,'THREE' UNION SELECT 4,'FOUR' UNION SELECT 5,'FIVE' UNION SELECT 6,'SIX' UNION SELECT 7,'SEVEN' UNION SELECT 8,'EIGHT' UNION SELECT 9,'NINE' UNION SELECT 0,''

    UNION ALL

    SELECT 11 AS NUM, 'ELEVEN' AS WRD UNION SELECT 12,'TWELVE' UNION SELECT 13,'THIRTEEN' UNION SELECT 14,'FOURTEEN' UNION SELECT 15,'FIFTEEN' UNION SELECT 16,'SIXTEEN' UNION SELECT 17,'SEVENTEEN' UNION SELECT 18,'EIGHTEEN' UNION SELECT 19,'NINTEEN'

    UNION ALL

    SELECT 10 AS NUM, 'TEN' AS WRD UNION SELECT 20,'TWENTY' UNION SELECT 30,'THIRTY' UNION SELECT 40,'FOURTY' UNION SELECT 50,'FIFTY' UNION SELECT 60,'SIXTY' UNION SELECT 70,'SEVENTY' UNION SELECT 80,'EIGHTY' UNION SELECT 90,'NINETY'

    UNION ALL

    SELECT 100 AS NUM, 'HUNDRED' AS WRD UNION SELECT 1000,'THOUSAND' UNION SELECT 1000000,'MILLION' UNION SELECT 100000000,'BILLION' UNION SELECT 1000000000000,'TRILLION'

    ),

    NM_PREFIX AS

    (

    SELECT 1 AS LVL,LEN(@PREFIX)-1 AS DIG, CAST(SUBSTRING(@PREFIX,1,1) AS INT) AS CHR, CAST( '1'+REPLICATE('0',LEN(@PREFIX)-1) AS BIGINT ) AS NUM, (LEN(@PREFIX))%3 AS MD

    UNION ALL

    SELECT LVL+1 AS LVL,DIG-1 AS DIG, CAST(SUBSTRING(@PREFIX,LVL+1,1) AS INT) AS CHR,CAST( '1'+REPLICATE('0',DIG-1) AS BIGINT ) AS NUM,DIG%3 AS MD FROM NM_PREFIX WHERE LEN(@PREFIX) >LVL

    ),

    NM_SUFFIX AS

    (

    SELECT 1 AS LVL,LEN(@SUFIX)-1 AS DIG, CAST(SUBSTRING(@SUFIX,1,1) AS INT) AS CHR, CAST( '1'+REPLICATE('0',LEN(@SUFIX)-1) AS BIGINT ) AS NUM, (LEN(@SUFIX))%3 AS MD

    UNION ALL

    SELECT LVL+1 AS LVL,DIG-1 AS DIG, CAST(SUBSTRING(@SUFIX,LVL+1,1) AS INT) AS CHR,CAST( '1'+REPLICATE('0',DIG-1) AS BIGINT ) AS NUM,DIG%3 AS MD FROM NM_SUFFIX WHERE LEN(@SUFIX) >LVL

    ),

    NUM_PREFIX_CON AS

    (

    SELECT x.*,(SELECT TOP 1 WRD FROM NUM_WRD WHERE x.ACT_NUM=NUM) AS ACT_WRD FROM (

    SELECT x.*,z.WRD AS WRD_TEN,

    CASE WHEN x.NUM= 10 THEN NULL WHEN  x.NUM=1 THEN '' WHEN MD=0 THEN 'HUNDRED' ELSE y.WRD END AS WRD_HUN,

    IIF((y.WRD IS NULL AND MD!=0) OR x.NUM=10, CHR*10, CHR) AS  ACT_NUM  FROM NM_PREFIX x INNER JOIN NUM_WRD z ON z.NUM=CHR LEFT JOIN NUM_WRD y ON y.NUM=x.NUM

    ) x

    ),

    NM_SUFFIX_CON AS

    (

    SELECT x.*,(SELECT TOP 1 WRD FROM NUM_WRD WHERE x.ACT_NUM=NUM) AS ACT_WRD FROM (

    SELECT x.*,z.WRD AS WRD_TEN,

    CASE WHEN x.NUM= 10 THEN NULL WHEN  x.NUM=1 THEN '' WHEN MD=0 THEN 'HUNDRED' ELSE y.WRD END AS WRD_HUN,

    IIF((y.WRD IS NULL AND MD!=0) OR x.NUM=10, CHR*10, CHR) AS  ACT_NUM  FROM NM_SUFFIX x INNER JOIN NUM_WRD z ON z.NUM=CHR LEFT JOIN NUM_WRD y ON y.NUM=x.NUM

    ) x

    ),

    NUM_WROD_DECIMALS AS

    (

    SELECT 0 AS K, * FROM NUM_PREFIX_CON

    UNION ALL

    SELECT 1 AS K, * FROM NM_SUFFIX_CON

    )

    SELECT

    @NUM_WORD=COALESCE(@NUM_WORD + ' ', '')  + IIF(K=0, IIF(WRD_HUN IS NULL,'AND ' ,'') + '' + IIF(WRD_HUN IS NULL, ISNULL(ACT_WRD,'') ,ISNULL(WRD_TEN,'')) +' ' +ISNULL(WRD_HUN,''),''),

    @NUM_WORD_DECIMALS=COALESCE(@NUM_WORD_DECIMALS + ' ', '')  + IIF(K=1, IIF(WRD_HUN IS NULL,'AND ' ,'') + '' + IIF(WRD_HUN IS NULL, ISNULL(ACT_WRD,'') ,ISNULL(WRD_TEN,'')) +' ' +ISNULL(WRD_HUN,''),'')

    FROM NUM_WROD_DECIMALS --ORDER BY 1

    SELECT REPLACE(LTRIM(@NUM_WORD) + LTRIM(@NUM_WORD_DECIMALS),'  ',' ')

  • Reply To: Urgent! - How to extract number from a string

    DECLARE @EMAIL AS VARCHAR(100)='support_dso104@itradeerp.com'

    DECLARE @NUMBERS AS VARCHAR(100)='',@ALPHA AS VARCHAR(100)='',@SPECIAL AS VARCHAR(100)=''

    ;WITH TREE AS

    (

    SELECT SUBSTRING(@EMAIL,1,1) AS CHR, CAST(1 AS INT) AS LVL

    UNION ALL

    SELECT SUBSTRING(@EMAIL,LVL+1,1) AS CHR, CAST(LVL+1 AS INT) AS LVL...

  • Reply To: Bulk Insert not working for dataset

    Let try below 2017 version

  • Reply To: Bulk Insert not working for dataset

    BULK INSERT #CUSTOMER

    FROM 'E:\Loyalty_DWND\A22679.csv'

    WITH

    (

    FIRSTROW=2,

    --DATAFILETYPE = 'char',

    FIELDTERMINATOR =',',

    ROWTERMINATOR = '0x0a', --

    CODEPAGE = '65001',

    TABLOCK,

    FIELDQUOTE='"',

    FORMAT='CSV'

    )

Viewing 4 posts - 1 through 4 (of 4 total)