我最近以管理员身份接管了一个数据库,但不熟悉其中一个表中的列结构。我真的很想知道如何选择列中的一个值,目前我无法使用此列构建 where 子句。有问题的列是状态列,我可以在 where 子句中使用任何其他列。
-[ RECORD 1 ]--------------------------
id | 8
name | 13
state | --- +
| :name: California +
| :abbr: CA +
|
created_at | 2011-12-08 04:31:15.104002
updated_at | 2011-12-08 04:31:15.104002
答案1
一列不能包含多个值,但文本列可以包含多行值,这些值由换行符或换行符和回车符分隔。state
问题中的列有这样的值,显然带有换行符。
如果您必须以 SQL 形式重新注入该内容,则这可能会起作用(除非有额外的不可见空格):
select * from table where state = E'---\n:name: California\n:abbr: CA\n';
\n
表示用 , 括起来的字符串中的换行符E'...'
。(请参见文档)