我怎样才能最好地将90060(秒)转换成一串"25h 1m"?
目前我在SQL中这样做:
SELECT
IF(
HOUR(
sec_to_time(
sum(time_to_sec(task_records.time_spent))
)
) > 0,
CONCAT(
HOUR(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
'h ',
MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
'm'
),
CONCAT(
MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
'm'
)
) as time
FROM myTable;
Run Code Online (Sandbox Code Playgroud)
但我不确定这是最方便的方法:-)
我对在SQL(不同于我已经在做)或PHP中这样做的建议持开放态度.
编辑:
所需字符串的示例:"5m","40m","1h 35m","45h""46h 12m".
我正在尝试使用以下代码将邮件从收件箱移到已处理的标签中:
$inbox = imap_open($host,$user,$pass) or die('Error: ' . imap_last_error());
if( $emails = imap_search($inbox,'ALL') )
{
foreach($emails as $email_number) {
imap_mail_move($inbox, $email_number, 'Processed') or die('Error');
}
}
imap_expunge($inbox);
imap_close($inbox);
Run Code Online (Sandbox Code Playgroud)
不幸的是,当消息获得Processed标签时,它们仍然留在Inbox中.
我怎么能让他们离开收件箱?
使用 Vue 将组件作为 npm 包添加到 Vite 的步骤是什么?
我假设这些:
npm install examplesrc/App.vue并添加import Example from 'example'App.vue, 在<template>, 添加<Example />那是对的吗?
我必须将MSSQL中完成的更改与远程MySQL数据库同步.要同步的更改是将发票和用户添加到系统.远程服务器不应该总是可以访问,所以我试图设置一种日志表来存储在MSSQL中完成的更改.
这是一个完全有效的触发器:
CREATE TRIGGER [dbo].[dokument_insert]
ON [dbo].[dokument]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [bcg_ekodu].[dbo].[sync_stack] (event,sql, table_name, import_priority)
SELECT
'INSERT',
'INSERT INTO bills SET
date = "'+CONVERT(VARCHAR(19),dok_kuup,120)+'",
total = "'+CAST(kokkusum AS nvarchar)+'",
number = "'+RTRIM(dok_nr)+'",
created = "'+CONVERT(VARCHAR(19),savetime,120)+'",
rounded = "'+CAST(ymardus AS nvarchar)+'",
currency = "'+CAST(valuuta AS nvarchar)+'",
due_date = "'+CONVERT(VARCHAR(19),tasupaev,120)+'",
pk_joosep = "'+CAST(dok_kood AS nvarchar)+'",
joosep_hankija = "'+CAST(hankija AS nvarchar)+'";
UPDATE
bills, users, companies
SET
bills.user_id = users.id,
bills.imported = NOW()
WHERE
bills.imported IS NULL
AND companies.id …Run Code Online (Sandbox Code Playgroud) 对于我来说,这个问题在很多不同的场合都有所提升,但如果没有给出具体的例子,很难解释.所以这里:
让我们想象一下,我们正在PHP/MySQL中创建一个问题跟踪器数据库.有一个"任务"表.现在,您需要跟踪与特定任务相关联的人员(已评论或未评论).当任务发生变化时,这些人将收到电子邮件.
有两种方法可以解决这种情况.一种是创建一个单独的表tasks_participants:
CREATE TABLE IF NOT EXISTS `task_participants` (
`task_id` int(10) unsigned NOT NULL,
`person_id` int(10) unsigned NOT NULL,
UNIQUE KEY `task_id_person_id` (`task_id`,`person_id`)
);
Run Code Online (Sandbox Code Playgroud)
并查询此表SELECT person_id WHERE task_id='XXX'.
如果有5000个任务,每个任务平均有4个参与者(记者,任务带来的主题,求解者和一个评论者)那么task_participants表将是5000*4 = 20 000行.
还有另一种方法:在tasks表中创建一个字段并存储person_id的序列化数组(JSON或PHP serialize()).然后就不需要这个20 000行的表.
你有什么评论,你会走哪条路?
mysql ×2
php ×2
ack ×1
duration ×1
gmail ×1
gmail-imap ×1
grep ×1
sql-server ×1
tdd ×1
time ×1
triggers ×1
unit-testing ×1
vite ×1
vue-select ×1
vue.js ×1