mysql 空问题?

发布于 2024-10-10 07:54:33 字数 169 浏览 1 评论 0原文

我正在使用 LOAD DATA INTO 命令将 txt 文件中的数据读取到我的数据库中。在我的输入中,我需要将“-”字符视为空(而不是字符串空)。例如;输入

堆栈 - 溢出

必须是

第一列 = 堆栈 第二列 = 空 第三列 = 溢出。

我怎样才能做到这一点?

I am using LOAD DATA INTO command to read data from a txt file into my Database. In my input, ı need to take '-' characters as null (not the string null). For example;the input

stack - overflow

have to be

1st column = stack
2nd column = null
3rd column = overflow.

How can I do that??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫七 2024-10-17 07:54:33

一个简单的方法是首先使用 加载数据不进行任何转换,然后运行一些更新来更正您想要更改的值:

UPDATE yourtable
SET col1 = NULL
WHERE col1 = '-'

LOAD DATA 语法还允许您指定数据的转换:

[SET col_name = expr,...]

列列表可以包含列名称或用户变量。对于用户变量,SET 子句使您能够在将结果分配给列之前对其值执行转换。

一个例子是:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @var1)
SET column2 = CASE WHEN @var1 = '-' THEN NULL ELSE @var1 END;

A simple approach would be to first use LOAD DATA without any conversions, then afterwards run some updates to correct the values that you want changing:

UPDATE yourtable
SET col1 = NULL
WHERE col1 = '-'

The LOAD DATA syntax also allows you to specify transformations to your data:

[SET col_name = expr,...]

The column list can contain either column names or user variables. With user variables, the SET clause enables you to perform transformations on their values before assigning the result to columns.

An example would be:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @var1)
SET column2 = CASE WHEN @var1 = '-' THEN NULL ELSE @var1 END;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文