杰克工作室 发表于 2024-1-24 11:18

经典sqlite语句

<p>经典sqlite语句:</p>

<p>&nbsp;</p>

<h6>6、从json字段中获取某些数据或作为条件:此方法需要sqlite3.24或更高版本,存储字段最好为JSON,我目前用的text也没有问题</h6>
select * from 表 where (json_extract(json_, &quot;$.notice&quot;) &nbsp;or json_extract(json_, &quot;$.err&quot;))&nbsp;&nbsp;<br />
&nbsp;
<h3>5、将unix时间戳转化为日期格式</h3>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select date(strftime(&#39;%s&#39;, &#39;2012-07-20&#39;), &#39;unixepoch&#39;)<br />
&nbsp;
<h3>4、将时间转化为unix时间戳格式,方便进行索引</h3>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select strftime(&#39;%s&#39;, &#39;2012-07-01&#39;);<br />
&nbsp;
<h3>3、将日期字段转换为当月:2012-07-01</h3>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select date(f_字段, &#39;start of month&#39;) from &nbsp; t_表;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select&nbsp;&nbsp; substr(f_字段, 1, 7 ) || &#39;-01&#39; as dd&nbsp; ;<br />
<br />
<br />
<strong>2、相当于mysql中的concat函数:</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select&nbsp; f_id || &#39;-01&#39; from t_表;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select&nbsp;&nbsp; substr(&#39;2012-07-05&#39;, 1, 7 ) || &#39;-01&#39; as dd&nbsp; ;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp;||相当于mysql中的concat</strong>,但谁都不会想到。<br />
<br />
<br />
<strong>1、group_concat</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select&nbsp;&nbsp; group_concat(f_id) from&nbsp; t_表;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 注:某些版本比较低的PDO或者sqlite版本不支持此写法,但此写法效率挺高的。<br />
&nbsp;
<h3>快速导入导出(备份整个数据库):</h3>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 导出:sqlite.exe tt.sqlite3&nbsp; &quot;.dump&quot; &gt; dump_backup;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 导入:sqlite.exe tt.sqlite3&nbsp; &lt;&nbsp; dump_backup;<br />
<br />
&nbsp;
<h3>错误相关:</h3>
<br />
<strong>1、bind or column index out of range</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个错误可能出现在sql语句的绑定中使用了引号把绑定变量引起来,其实在<strong>sql语句中</strong>关于要绑定的变量是不需要引号的。
页: [1]
查看完整版本: 经典sqlite语句