개발관련/Go Lang
[GoLang] DB 작업 중, Null 처리에 대한 문제 해결
후니의 개발이야기
2022. 8. 31. 18:30
728x90
반응형
1. 설명
Go와 함께 데이터베이스 작업을 하다보면, string, time 등의 데이터로 인한
INSERT, UPDATE 와 같은 작업이
이루어 질 때, NULL 셋팅이 안되고 공백문자로 데이터가 들어가는 문제가 있습니다.
데이터 작업을 하다보면 오히려, 과한 공백문자 데이터로 인해 어려움을 겪을때가 있는데,
이에따라, 공백처리를 일일히 해주기엔 번거로움이 있어 공통함수로 따로 빼두었습니다.
더 좋은 방법이 나오길 기대해봅니다.
2. 예제
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,
}
}
}
728x90
반응형