1- SELECT
2- product_id,
3- sku,
4- product_name,
5- brand,
6- category,
7- sub_category,
8- department,
9- launched_date,
10- product_url
11- FROM {{ ref(' stg_products' ) }} ;
1+
2+ SELECT
3+ CASE
4+ WHEN TRY_CONVERT(INT , product_id) IS NULL THEN NULL
5+ ELSE TRY_CONVERT(INT , product_id)
6+ END as product_id,
7+
8+ CASE
9+ WHEN TRIM (sku) = ' ' OR sku IS NULL OR LEN(TRIM (sku)) != 13 THEN ' Unknown'
10+ ELSE TRIM (UPPER (sku))
11+ END as sku,
12+
13+ CASE
14+ WHEN TRIM (product_name) = ' ' OR product_name IS NULL THEN ' Unknown'
15+ ELSE TRIM (dbo .TitleCase (product_name))
16+ END as product_name,
17+
18+ CASE
19+ WHEN TRIM (brand) = ' ' OR brand IS NULL THEN ' Unknown'
20+ ELSE TRIM (dbo .TitleCase (brand))
21+ END as brand,
22+
23+ CASE
24+ WHEN category IS NULL OR TRIM (category) = ' ' THEN ' Unknown'
25+ ELSE TRIM (dbo .titleCase (category))
26+ END AS category,
27+
28+ CASE
29+ WHEN sub_category IS NULL OR TRIM (sub_category) = ' ' THEN ' Unknown'
30+ ELSE dbo .TitleCase (TRIM (sub_category))
31+ END AS sub_category,
32+
33+ CASE
34+ WHEN department IS NULL OR TRIM (department) = ' ' THEN ' Unknown'
35+ ELSE dbo .TitleCase (TRIM (department))
36+ END AS department,
37+
38+ CASE
39+ WHEN launched_date LIKE ' [A-Z][a-z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE ,launched_date)
40+ WHEN launched_date LIKE ' [A-Z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE ,launched_date)
41+ WHEN launched_date LIKE ' ____/__/__' THEN TRY_CONVERT(DATE ,launched_date)
42+ WHEN launched_date LIKE ' ____-__-__' THEN TRY_CONVERT(DATE ,launched_date)
43+
44+ WHEN launched_date LIKE ' __/__/____' AND TRY_CONVERT(INT , SUBSTRING (launched_date, 4 , 2 )) > 12 THEN TRY_CONVERT(DATE , launched_date, 101 )
45+ WHEN launched_date LIKE ' __-__-____' AND TRY_CONVERT(INT , SUBSTRING (launched_date, 4 , 2 )) > 12 THEN TRY_CONVERT(DATE , launched_date, 110 )
46+ WHEN launched_date LIKE ' __/__/____' AND TRY_CONVERT(INT , LEFT(launched_date, 2 )) > 12 THEN TRY_CONVERT(DATE , launched_date, 103 )
47+ WHEN launched_date LIKE ' __-__-____' AND TRY_CONVERT(INT , LEFT(launched_date, 2 )) > 12 THEN TRY_CONVERT(DATE , launched_date, 105 )
48+ ELSE TRY_CONVERT(DATE , launched_date)
49+ END as launched_date,
50+
51+ CASE
52+ WHEN product_url IS NULL OR TRIM (product_url) = ' ' OR product_url NOT LIKE ' https://%' THEN ' Unknown'
53+ ELSE REPLACE(REPLACE(TRIM (LOWER (product_url)), CHAR (13 ), ' ' ),CHAR (10 ), ' ' )
54+ END as product_url
55+ FROM {{ ref(' stg_products' ) }} ;
56+
0 commit comments