很容易找出 Lasso 报告的列类型。
使用如下所示的表格:
CREATE TABLE `addressb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` enum('commercial','residential') COLLATE utf8_swedish_ci DEFAULT NULL,
`street` varchar(50) COLLATE utf8_swedish_ci NOT NULL DEFAULT NULL,
`city` varchar(25) COLLATE utf8_swedish_ci NOT NULL DEFAULT NULL,
`state` char(2) COLLATE utf8_swedish_ci NOT NULL DEFAULT NULL,
`zip` char(10) COLLATE utf8_swedish_ci NOT NULL DEFAULT NULL,
`image` blob,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
您可以像这样获取报告的列类型:
inline(-database = 'testdb', -sql = "SELECT * FROM address") => {^
with col in column_names do {^
column(#col) -> type
'<br />'
^}
^}
结果:
id 整数
输入字符串
街道字符串
城市字符串
状态字符串
拉链空
图像字节
创建的字符串
如您所见,除整数和 blob 字段外,所有内容均以字符串形式报告。加上这条记录中恰好包含 NULL 并被报告为 NULL 的 zip 字段。
在进行比较时,确保将苹果与苹果进行比较总是一个好主意。也就是说,确保您正在比较相同类型的值。另外,为了检查是否有内容,我总是选择大小。
string(column('zip')) -> size > 0 ?