ETL: SQL Set column type
Is there a way to set the column type of while you are creating the column in mysql? I have a column that I am creating based on a date (Min Cust Svc Start) and a comparison to another date (1/1/2015). I want "Min Cust Svc Start 15" to be a datetype column; however, it is defaulting to text. I know I can change it in alter tab but am wondering if there is a way to change it in the query below (while I am creating the field)? Also, am looking for guidance on which is the preferred method...
select tc.*,
CASE
WHEN `Min Cust Svc Start` < '2015-01-01' THEN
'2015-01-01'
ELSE `Min Cust Svc Start`
END AS `Min Cust Svc Start 15`
from `transform_cust_svc` tc
Best Answer
-
Definitely:
CAST(value AS type)
For you that would be like
SELECT
...
CAST(`Min Cust Svc Start` as Date)
...
Depending on what your string data looks like you might have to do some formatting, but the CAST could be the one you want.
Also str_to_date works great. Format as necessary.
STR_TO_DATE(tc.`Min Cust Svc Start, '%d/%m/%Y')
Aaron
MajorDomo @ Merit Medical
**Say "Thanks" by clicking the heart in the post that helped you.
**Please mark the post that solves your problem by clicking on "Accept as Solution"1
Categories
- 7.6K All Categories
- Connect
- 916 Connectors
- 241 Workbench
- 472 Transform
- 1.8K Magic ETL
- 60 SQL DataFlows
- 445 Datasets
- 28 Visualize
- 196 Beast Mode
- 2K Charting
- 6 Variables
- 1 Automate
- 348 APIs & Domo Developer
- 82 Apps
- Workflows
- 14 Predict
- 3 Jupyter Workspaces
- 11 R & Python Tiles
- 241 Distribute
- 59 Domo Everywhere
- 241 Scheduled Reports
- 14 Manage
- 35 Governance & Security
- 19 Product Ideas
- 1.1K Ideas Exchange
- Community Forums
- 15 Getting Started
- 1 Community Member Introductions
- 49 Community News
- 18 Event Recordings
- 579 日本支部