Go와 함께 데이터베이스 작업을 하다보면, string, time 등의 데이터로 인한
INSERT, UPDATE 와 같은 작업이
이루어 질 때, NULL 셋팅이 안되고 공백문자로 데이터가 들어가는 문제가 있습니다.
데이터 작업을 하다보면 오히려, 과한 공백문자 데이터로 인해 어려움을 겪을때가 있는데,
이에따라, 공백처리를 일일히 해주기엔 번거로움이 있어 공통함수로 따로 빼두었습니다.
더 좋은 방법이 나오길 기대해봅니다.
package common
import (
"database/sql"
"time"
)
/**
* DB 처리 시, Null 이 아닌 공백값이 입력되는 것을 해결하기 위한 함수들
*/
func CalNullString(s string) sql.NullString {
if len(s) == 0 {
return sql.NullString{}
} else {
return sql.NullString{
String: s,
Valid: true,
}
}
}
func CalNullDate(t time.Time) sql.NullTime {
if t.IsZero() {
return sql.NullTime{}
} else {
return sql.NullTime{
Time: t,
Valid: true,
}
}
}
func CalNullInt32(i int) sql.NullInt32 {
if i == 0 {
return sql.NullInt32{}
} else {
return sql.NullInt32{
Int32: int32(i),
Valid: true,
}
}
}
func CalNullInt16(i int) sql.NullInt16 {
if i == 0 {
return sql.NullInt16{}
} else {
return sql.NullInt16{
Int16: int16(i),
Valid: true,
}
}
}
[Go] 데이터 타입 체크 (0) | 2022.11.02 |
---|---|
[Go Lang] Go Schedule 1개씩 실행하기 (0) | 2022.09.07 |
Zap과 file-rotatelogs 를 통한 Custom Logging (0) | 2022.08.30 |
Golang 의 DB관련 라이브러리 GORM (0) | 2022.08.30 |
[Go Lang] Delay 줘서 함수 실행시키기 (0) | 2022.08.26 |